线程池是Java并发编程中的核心概念,通过复用已有线程降低资源消耗。以下是关键知识点:
1. ⚙️ 线程池核心组件
- 线程池工厂:
ThreadPoolExecutor
构造函数配置核心参数 - 任务队列:
Queue<Runnable>
存储等待执行的任务 - 核心线程数:
corePoolSize
保持运行的最小线程数 - 最大线程数:
maximumPoolSize
允许创建的最多线程数 - 拒绝策略:
RejectedExecutionHandler
处理任务队列满时的策略
2. 📈 使用优势
- 资源控制:避免线程爆炸式增长
- 任务调度:提高CPU与I/O利用率
- 响应速度:减少线程创建/销毁开销
- 可扩展性:支持动态调整线程数量
3. 🧑💻 示例代码
ExecutorService executor = Executors.newFixedThreadPool(5);
for (int i = 0; i < 10; i++) {
executor.submit(() -> {
System.out.println("Task executed by " + Thread.currentThread().getName());
});
}
executor.shutdown();
4. 📚 扩展阅读
📌 注意:实际使用中需根据业务场景选择合适的线程池类型(如FixedThreadPool、CachedThreadPool等)