java ThreadPoolExecutor
时间: 2023-11-21 12:58:36 浏览: 86
ThreadPoolExecutor是Java中的一个线程池类,它实现了ExecutorService接口,提供了一种管理线程池的方式。ThreadPoolExecutor可以通过构造函数来创建线程池,也可以通过Executors工厂类中的静态方法来获取线程池对象。ThreadPoolExecutor的构造函数可以设置线程池的核心线程数、最大线程数、线程空闲时间、任务队列等参数,可以根据实际需求来灵活配置线程池。
以下是一个简单的ThreadPoolExecutor的例子:
```java
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class ThreadPoolExecutorDemo {
public static void main(String[] args) {
// 创建一个线程池,包含5个线程
ExecutorService executorService = Executors.newFixedThreadPool(5);
// 提交10个任务给线程池执行
for (int i = 0; i < 10; i++) {
executorService.execute(new Task(i)); }
// 关闭线程池
executorService.shutdown();
}
static class Task implements Runnable {
private int taskId;
public Task(int taskId) {
this.taskId = taskId;
}
@Override
public void run() {
System.out.println("Task " + taskId + " is running.");
}
}
}
```
上面的例子中,我们通过Executors工厂类中的newFixedThreadPool方法来创建一个包含5个线程的线程池,然后提交10个任务给线程池执行。每个任务都是一个简单的Runnable对象,输出任务的编号。最后,我们调用线程池的shutdown方法来关闭线程池。
阅读全文