issues
search
MicroKibaco
/
CrazyDailyQuestion
每日一问: 水滴石穿,聚沙成塔,坚持数月, 必有收获~
35
stars
1
forks
source link
多线程篇: 线程池的工作机制
#77
Open
MicroKibaco
opened
4 years ago
MicroKibaco
commented
4 years ago
1)如果当前运行的线程少于corePoolSize,则创建新线程来执行任务(注意,执行这一步骤需要获取全局锁)。
2)如果运行的线程等于或多于corePoolSize,则将任务加入BlockingQueue。
3)如果无法将任务加入BlockingQueue(队列已满),则创建新的线程来处理任务(注意,执行这一步骤需要获取全局锁)。
4)如果创建新线程将使当前运行的线程超出maximumPoolSize,任务将被拒绝,并调用RejectedExecutionHandler.rejectedExecution()方法。