ThreadPoolExcutor源码流程图:(图片较大,下载再看比较方便)

线程池里的二进制奥秘
前言:
线程池的五种状态state(RUNNING、SHUTDOWN、STOP、TIDYING、TERMINATED)和线程池的工作线程数:workerCount,
这两个变量,可有通过一个变量ctl转成二进制后而获得。
直接看线程池ThreadPoolExecutor源码里,管理状态和工作线程数的代码
[code]private final AtomicInteger ctl = new AtomicInteger(ctlOf(RUNNING, 0));private static final int COUNT_BITS = Integer.SIZE - 3;private static final int CAPACITY = (1 |