经过之前对线程池设计以及参数的进一步认知,再回过头来总宏观上复习一下线程池的执行策略。
- 有任务提交了,优先把核心线程创建完
- 优先使用空闲的核心线程去执行任务
- 若核心线程创建完,且无空闲核心线程,则优先将任务提交队列
- 若队列不满,则将新任务提交给队列
- 若队列满,且未达到最大线程数,则创建更多的线程来执行新任务。
- 若队列满,且达到最大线程数,若有空闲线程,则让空闲线程去执行任务
- 若队列满,且达到最大线程数,且无空闲线程,则执行拒绝策略。

原图链接:https://www.processon.com/view/5cc2bd36e4b0841b84410cc9#map
网友评论