ExecutorService 用法
时间: 2023-11-30 19:38:58 浏览: 223
ExecutorService 是 Java 中用于管理线程池的接口,它可以让我们更加方便地管理线程的创建、销毁和复用。我们可以通过 ExecutorService 提供的方法来提交任务,然后 ExecutorService 会自动将任务分配给线程池中的某个线程来执行。
下面是一个简单的例子,展示了如何使用 ExecutorService 来创建一个线程池,并提交一些任务:
```java
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class Main {
public static void main(String[] args) {
// 创建一个固定大小的线程池,大小为 5
ExecutorService executor = Executors.newFixedThreadPool(5);
// 提交 10 个任务给线程池
for (int i = 0; i < 10; i++) {
executor.submit(new Task(i));
}
// 关闭线程池
executor.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)` 创建了一个固定大小为 5 的线程池。然后我们提交了 10 个任务给线程池,每个任务都是一个 `Task` 对象,它实现了 `Runnable` 接口。最后我们调用了 `executor.shutdown()` 来关闭线程池。
阅读全文