Executor 框架详解

线程池是线程的集合,集中管理线程,以实现线程的重用降低资源消耗提高响应速度等。线程用于执行异步任务,单个的线程既是工作单元也是执行机制,从JDK1.5开始,为了把工作单元执行机制解耦,Executor框架诞生了,用于统一创建运行的接口。Executor框架实现的就是线程池的功能。

Executor 框架结构图解


Executor 框架包括三大部分:
【1】任务:也就是工作单元,包括被执行任务需要实现的接口,Runnable接口或者Callable接口
【2】任务的执行:也就是把任务分派给多个线程的执行机制,包括 Executor接口及继承自 Executor接口的 ExecutorService接口
【3】异步计算的结果:包括 Future接口及实现了 Future接口的 FutureTask类

Executor 框架的成员及其关系图如下:

FutureTask类关系图如下:

线程池具体实操 [链接]
ThreadPoolExecutor实现类 [链接]
ScheduledThreadPoolExecutor实现类 [链接]
Future接口/FutureTask实现类 [链接]

Executors工厂类:提供了常见配置线程池的方法,因为 ThreadPoolExecutor的参数众多且意义重大,为了避免配置出错,才有了 Executors工厂类