java的threadpoolexecutor对象的使用例子
时间: 2024-06-10 19:08:28 浏览: 95
ThreadpoolExecutor 是 Java 提供的线程池实现类,常用于管理多线程。
以下是使用 ThreadpoolExecutor 的一个例子:
```java
import java.util.concurrent.Executors;
import java.util.concurrent.ThreadPoolExecutor;
public class ThreadPoolExample {
public static void main(String[] args) {
// 创建线程池对象
ThreadPoolExecutor executor = (ThreadPoolExecutor) Executors.newFixedThreadPool(2);
// 提交任务给线程池
executor.execute(new Task("Task 1"));
executor.execute(new Task("Task 2"));
executor.execute(new Task("Task 3"));
executor.execute(new Task("Task 4"));
// 关闭线程池
executor.shutdown();
}
static class Task implements Runnable {
private final String name;
Task(String name) {
this.name = name;
}
@Override
public void run() {
System.out.println(Thread.currentThread().getName() + " executing " + name);
}
}
}
```
该例子中,我们创建了一个 FixedThreadPool,它最多同时运行两个线程。然后我们提交四个任务给线程池。由于线程池中只有两个线程,所以前两个任务可以立即执行,后面两个任务需要等待线程有空闲才能执行。
运行该例子,你会看到以下输出:
```
pool-1-thread-1 executing Task 1
pool-1-thread-2 executing Task 2
pool-1-thread-1 executing Task 3
pool-1-thread-2 executing Task 4
```
阅读全文