经历了Java内存模型、JUC基础之AQS、CAS、Lock、并发工具类、并发容器、阻塞队列、atomic类后,我们开始JUC的最后一部分:线程池。在这个部分你将了解到下面几个部分:
- 线程池的基础架构
- 线程池的原理分析
- 线程池核心类的源码分析
- 线程池调优
Executor
我们先看线程池的基础架构图:
Executor
Executor,任务的执行者,线程池框架中几乎所有类都直接或者间接实现Executor接口,它是线程池框架的基础。Executor提供了一种将“任务提交”与“任务执行”分离开来的机制,它仅提供了一个Execute()方法用来执行已经提交的Runnable任务。
public interface Executor {
void execute(Runnable command);
}
ExcutorService
继承Executor,它是“执行者服务”接口,它是为"执行者接口Executor"服务而存在的。准确的地说,ExecutorService提供了&