threadpool
线程池 ThreadPoolExecutor
ToC
- 核心参数与工作流程
- 任务提交流程与状态机
- 队列选择与拒绝策略
- 线程数配置与调优
- 常见坑与最佳实践
核心参数与工作流程
ThreadPoolExecutor(corePoolSize, maximumPoolSize, keepAliveTime, unit, workQueue, threadFactory, handler):
处理顺序(execute):
- 运行线程 < core → 直接新建工作线程执行任务;
- 否则入队
workQueue; - 队列满且运行线程 < max → 新建线程;
- 否则触发拒绝策略。
其他:
allowCoreThreadTimeOut(true):核心线程也会因空闲超时而回收;prestartAllCoreThreads():预热核心线程。