ThreadPoolExecutor的execute方法执行流程
前言
此文中对Java线程池简介,包含线程池相关的几个类的关系等。
【Java线程池02】ThreadPoolExecutor类概述
此文介绍了ThreadPoolExecutor的构造函数、核心字段以及核心方法
这篇文章将学习总结ThreadPoolExecutor的核心方法execute的执行流程
源码
public void execute(Runnable command) {
if (command == null)
throw new NullPointerException();
int c = ctl.get();//AtomicInteger
if (workerCountOf(c) < corePoolSize) {
if (addWorker(command, true))
return;
c = ctl.get();
}
if (isRunning(c) && workQueue.offer(command)) {
int recheck = ctl.get();
if (! isRun