SHUTDOWN状态只有在调用shutdown方法时才会存在
STOP在调用shutdownNow方法时才会存在
TIDYING和TERMINATED在调用tryTerminate时可能会存在
TIDYING状态出现在工作线程集合为空的情况下
TERMINATED出现在在设置完TIDYING,回调terminated()调用完成之后
线程池一旦调用shutdown或者shutdownNow会拒绝任何任务的提交
下图是线程池状态轮换图:
源码阅读 - 线程池:线程池原理(一)线程池概述
源码阅读 - 线程池: 线程池原理(二)线程池构造函数解析
源码阅读 - 线程池:线程池原理(三)线程池的状态解析
源码阅读 - 线程池:线程池原理(四)addWorker–execute方法的前奏
源码阅读 - 线程池:线程池原理(五)一个execute(Runnable)调用经历了什么?
源码阅读 - 线程池:线程池原理(六)线程的任务调度和执行runWoker
源码阅读 - 线程池:线程池原理(七)线程池的关闭
源码阅读 - 线程池:线程池原理(八)ThreadPoolExecutor
源码阅读 -线程池:线程池原理(九)相关接口介绍
源码阅读 - 线程池:线程池原理(十)Worker内部类