ThreadPoolExecutor#execute源码分析
线程池的整体处理流程如下(1)如果当前线程池中工作线程数量小于corePoolSize,那么直接执行addWorker方法,将当前任务(即Runnable)构建为工作线程,并执行该任务。(要获取全局锁:ReentrentLook)。(2)如果当前线程池中工作线程数量>=corePoolSize,那么执行blockingqueue.offer方法,把当前任务放入阻塞队列中。(3)如果offer方法返回false,即队列已满则执行addWorker方法,构建工作线程,执行该任务。(4)但是如果当前
原创
2021-03-09 17:27:26 ·
63 阅读 ·
0 评论