新的任务提交到线程池,线程池是怎样处理

第一步 :线程池判断核心线程池里的线程是否都在执行任务。如果不是,则创建一个新的工作线程来执行任务。如果核心线程池里的线程都在执行任务,则执行第二步。

第二步 :线程池判断工作队列是否已经满。如果工作队列没有满,则将新提交的任务存储在这个工作队列里进行等待。如果工作队列满了,则执行第三步。

第三步 :线程池判断线程池的线程是否都处于工作状态。如果没有,则创建一个新的工作线程来执行任务。如果已经满了,则交给饱和策略来处理这个任务。

即任务处理优先级:核心线程池的线程 > 工作队列 > 线程池的线程 > 饱和策略

原文地址:https://www.cnblogs.com/liuqing576598117/p/11169997.html