创建一个 ThreadPoolExecutor
时间: 2024-06-05 16:05:02 浏览: 58
ThreadPoolExecutor 是一个 Java 中的线程池实现,可以用来管理和调度多个线程。以下是创建 ThreadPoolExecutor 的步骤:
1. 导入 java.util.concurrent.ThreadPoolExecutor 包。
2. 创建 ThreadPoolExecutor 对象,指定以下参数:
- corePoolSize:核心线程池大小。
- maximumPoolSize:线程池最大大小。
- keepAliveTime:线程池中空闲线程等待新任务的最长时间。
- unit:keepAliveTime 参数的时间单位。
- workQueue:用于保存等待执行的任务的队列。
3. 向线程池中提交任务。
下面是一个示例代码:
```
import java.util.concurrent.Executors;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
public class MyThreadPool {
public static void main(String[] args) {
// 创建 ThreadPoolExecutor 对象
ThreadPoolExecutor executor = new ThreadPoolExecutor(
2, 4, 60,
TimeUnit.SECONDS, new LinkedBlockingQueue<Runnable>());
// 向线程池中提交任务
for (int i = 1; i <= 10; i++) {
executor.execute(new MyTask(i));
}
// 关闭线程池
executor.shutdown();
}
}
class MyTask implements Runnable {
private int taskNum;
public MyTask(int taskNum) {
this.taskNum = taskNum;
}
public void run() {
System.out.println("正在执行task " + taskNum);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("task " + taskNum + "执行完毕");
}
}
```
阅读全文