ThreadPoolExecutor 代码使用案例
时间: 2023-10-17 11:11:15 浏览: 96
ThreadPoolExecutor 是 Java 中的线程池实现,它是 Executor 框架的一个具体实现。使用 ThreadPoolExecutor 可以方便地管理线程的执行、线程池的大小、任务队列等。
下面是一个使用 ThreadPoolExecutor 的简单示例:
```java
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class ThreadPoolExample {
public static void main(String[] args) {
// 创建一个线程池,大小为 2
ExecutorService executorService = Executors.newFixedThreadPool(2);
// 提交 5 个任务
for (int i = 1; i <= 5; i++) {
Task task = new Task(i);
executorService.submit(task);
}
// 关闭线程池
executorService.shutdown();
}
private 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 in Thread " + Thread.currentThread().getName());
}
}
}
```
在上面的示例中,创建了一个大小为 2 的线程池,然后提交了 5 个任务,每个任务都是一个简单的 Runnable 实现。当任务被提交后,ThreadPoolExecutor 会自动为任务创建一个线程来执行,如果线程池已满,则将任务放入等待队列中,直到有空闲的线程。最后,调用 shutdown 方法关闭线程池。
阅读全文