立即学习:https://edu.csdn.net/course/play/26270/326868?utm_source=blogtoedu
线程池执行(execute)过程:
1.首先检查线程池运行状态和工作线程数,若工作线程数量少于核心线程数,则会创建一个新的线程执行给定任务(addWorker);
2.若工作线程数超过核心线程数量,把任务放到工作任务队列,若队列未满,在队列添加任务。此时再重新检查线程池状态,若线程池没有继续运行(不是RUNNING状态)就把任务移除,使用拒绝策略处理当前任务,否则会创建或唤醒工作线程来执行任务;
3.若线程池非RUNNING状态或添加任务失败后,使用拒绝策略来处理当前任务