一、什么是 Executor 框架?
Executor 框架,是一个异步任务调用框架。从JDK1.5引入。
利用 Executor 框架,可以非常方便的创建一个线程池。无限制的创建线程,会引起应用程序内存溢出;创建线程是一个耗时的过程;因此使用线程池集中管理线程,可以实现线程的重用,降低资源消耗,提高响应速度。
二、Executor框架
1、Executor框架包括3大部分:
(1)任务。也就是工作单元,Runnable接口或者Callable接口及他们的实现类。
(2)任务的执行。也就是把任务分派给多个线程的执行机制。包括ThreadPoolExecutor和ScheduledThreadPoolExecutor。
(3)异步计算的结果。包括Future接口及Future接口的实现类FutureTask。
2、Executor框架成员关系图
框架成员关系图
以上成员重点关注:Executor、ThreadPoolExecutor、ScheduledThreadPoolExecutor。
3、Executor框架使用示意图
框架使用示意图
4、示例代码
见第3点:实现Callable接口,重写call方法。
Executor实例代码
三、Executors
Executors是Executor的工具类,提供了常见配置线程池的方法,因为ThreadPoolExecutor的参数众多且意义重大,为了避免配置出错,才有了Executors工具类。
四、Future
Future表示异步计算的结果,他提供了检查计算是否完成的方法,以等待计算的完成,并可以使用 #get() 方法,获取计算的结果。
网友评论