import java.util.concurrent.ThreadPoolExecutor;
时间: 2024-03-26 08:33:34 浏览: 65
import java.util.concurrent.ThreadPoolExecutor;是Java中的一个类,它是JDK1.5中引入的线程池实现之一[^1]。线程池是一种用于管理和复用线程的机制,它可以提高多线程程序的性能和效率。
通过使用ThreadPoolExecutor类,我们可以创建一个线程池,并在需要时提交任务给线程池执行。ThreadPoolExecutor类提供了一些方法来配置线程池的行为,例如设置核心线程数、最大线程数、线程空闲时间等。
下面是一个简单的示例,演示了如何使用ThreadPoolExecutor类创建一个线程池并提交任务:
```java
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
public class ThreadPoolExample {
public static void main(String[] args) {
// 创建一个线程池
ThreadPoolExecutor executor = new ThreadPoolExecutor(
2, // 核心线程数
5, // 最大线程数
1, // 线程空闲时间
TimeUnit.SECONDS, // 时间单位
new ArrayBlockingQueue<>(10) // 任务队列
);
// 提交任务给线程池执行
for (int i = 0; i < 10; i++) {
final int taskId = i;
executor.execute(() -> {
System.out.println("Task " + taskId + " is being executed by " + Thread.currentThread().getName());
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("Task " + taskId + " has been completed");
});
}
// 关闭线程池
executor.shutdown();
}
}
```
这个示例中,我们创建了一个核心线程数为2,最大线程数为5的线程池。然后,我们提交了10个任务给线程池执行。每个任务会打印出自己的ID,并在执行完毕后打印完成信息。最后,我们关闭了线程池。
这个示例演示了如何使用ThreadPoolExecutor类来创建和使用线程池。你可以根据自己的需求来配置线程池的参数,以满足不同的场景和要求。
阅读全文