ExecutorService创建示例
时间: 2024-09-03 21:00:40 浏览: 71
java ExecutorService使用方法详解
5星 · 资源好评率100%
ExecutorService是Java并发包中的一个重要组件,它提供了一种管理和控制线程执行的方式。下面是一个简单的ExecutorService创建和使用的示例:
```java
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class ExecutorServiceExample {
public static void main(String[] args) {
// 创建一个固定大小的工作线程池
int threadPoolSize = 5; // 根据需求设置线程数
ExecutorService executor = Executors.newFixedThreadPool(threadPoolSize);
// 提交任务到线程池
for (int i = 0; i < 10; i++) {
Runnable worker = new WorkerThread("Task " + i);
executor.execute(worker); // 异步提交任务
}
// 关闭线程池,停止接收新的任务
executor.shutdown();
// 等待所有任务完成
try {
while (!executor.isTerminated()) {
Thread.sleep(100);
}
System.out.println("所有任务已完成");
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
class WorkerThread implements Runnable {
private String name;
public WorkerThread(String name) {
this.name = name;
}
@Override
public void run() {
System.out.println(Thread.currentThread().getName() + " 开始工作...");
// 这里放置你的任务代码
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(Thread.currentThread().getName() + " 工作完毕.");
}
}
```
在这个例子中,我们首先创建了一个固定大小的线程池,并向其提交了若干个`Runnable`任务。每个任务由`WorkerThread`类实例化并执行。当主线程结束时,通过调用`shutdown()`关闭线程池,等待所有已提交的任务完成。
阅读全文