Executors.newCachedThreadPool() 使用场景、缺点
时间: 2023-10-25 12:28:24 浏览: 267
Executors.newCachedThreadPool() 适用于需要创建多个短期异步任务的场景,线程池会根据当前的任务负载情况动态地调整线程数量,以避免任务队列中的任务等待过长时间。
然而,newCachedThreadPool() 也有一些缺点。由于线程池中的线程数量不受限制,当任务数量过多时,线程池可能会创建大量线程,从而导致系统资源消耗过多,甚至导致系统崩溃。此外,由于线程池中的线程都是非核心线程,因此如果这些线程长时间没有执行任务,它们可能会被操作系统杀死,从而导致线程重新创建和初始化的开销。因此,如果任务需要长时间运行或需要占用大量系统资源,建议使用其他类型的线程池。
阅读全文