ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

《线程池的执行流程》

《线程池的执行流程》 提交线程任务至线程池时要判断此时运行的工作线程数是否超出了corePoolSize核心线程数如果没有超出则创建核心线程执行线程任务如果超出了要继续判断此时的工作队列workQueue是否已满如果未满则将该线程任务放入工作队列等待有空闲线程时再分配线程给该任务并执行如果已满则判断运行的工作线程数是否超出maximumPoolSize最大线程数如果没有超出则创建非核心线程执行线程任务非核心线程超过keepAliveTime空闲时间就会被回收核心线程默认不会超时回收如果当前线程数已经达到最大线程数执行拒绝策略。
返回列表