什么是缓存线程池?
缓存线程池 (CachedThreadPool) 是一种特殊的线程池,它能够动态地调整线程的数量,以适应任
务的需求。这种线程池非常适合处理大量短暂的任务,因为它会根据任务的数量自动增加或减少线
程的数量。
缓存线程池的特点:
线程数量动态调整:缓存线程池的线程数量没有固定的上限,而是根据任务的负载动态调整。
空闲线程回收:当线程空闲超过一定时间(默认为 60 秒)后,线程会被终止,从而释放资源。
快速响应:由于线程池会缓存空闲线程,因此能够快速响应新的任务请求。
创建缓存线程池
你可以使用 Executors.newCachedThreadPool() 方法来创建一个缓存线程池,或者使用
ThreadPoolExecutor 类直接创建,这样可以更灵活地配置线程池的行为。
import java.util.concurrent.*;
public class CachedThreadPoolExample {
public static void main(String[] args) {
// 创建缓存线程池
ExecutorService cachedThreadPool = Executors.newCachedThreadPool();
// 或者使用 ThreadPoolExecutor 直接创建缓存线程池
ExecutorService customCachedThreadPool = new ThreadPoolExecutor(
0, // 核心线程数为 0,意味着线程池大小无限制
Integer.MAX_VALUE,