CachedThreadPool应用实例
时间: 2023-08-25 13:10:32 浏览: 90
Thread Pool 实例
CachedThreadPool是Java中的一个线程池实现类,它可以根据需要动态地创建线程,并且在线程空闲一定时间后自动回收线程,适用于执行大量的短期异步任务的场景。
下面是一个简单的CachedThreadPool应用实例:
```java
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class CachedThreadPoolExample {
public static void main(String[] args) {
// 创建一个CachedThreadPool
ExecutorService executor = Executors.newCachedThreadPool();
for (int i = 0; i < 10; i++) {
final int taskNumber = i;
// 提交任务给线程池执行
executor.execute(new Runnable() {
public void run() {
System.out.println("Task " + taskNumber + " is running.");
}
});
}
// 关闭线程池
executor.shutdown();
}
}
```
在上面的例子中,我们使用`Executors.newCachedThreadPool()`创建了一个CachedThreadPool。然后我们提交了10个任务给线程池执行,每个任务输出一个简单的消息。最后,我们调用`executor.shutdown()`关闭线程池。
CachedThreadPool会根据需要动态地创建线程,并在线程空闲一定时间后自动回收线程。这意味着如果有更多的任务需要执行,CachedThreadPool会创建新的线程来处理,如果有线程空闲一段时间没有任务可执行,线程将被自动回收。
这种线程池适用于执行大量的短期异步任务的场景,例如处理HTTP请求、处理消息队列等。它可以根据任务的数量自动调整线程的数量,从而更好地利用系统资源。
阅读全文