Java jvm、jmm

Java并发编程系列 -- Executor 框架介绍

2018-02-09  本文已影响87人  起个名忒难

前面详细通过源码解释了ThreadPoolExecutor类的运行原理,本篇文章来说一下Executor的框架组成。

Java的线程既是工作单元也是执行单元,从JDK5开始,把工作单元与执行机制分离开来,工作单元包括Runnable和Callable,而执行机制由Executor框架提供。Executor作为一个灵活且强大的异步执行框架,其支持多种不同类型的任务执行策略,提供了一种标准的方法将任务的提交过程和执行过程进行了解耦开发,基于生产者和消费者模型,还提供了对生命周期的支持,以及统计信息收集,应用程序管理机制和性能检测等机制。

Executor框架的结构

Executor框架主要由3大部分组成如下:

Executor框架包含的主要类和接口如下图:


Executor主要类和接口

Executor执行流程如下:

image.png
首先主线程创建任务,任务需要实现Runnable或者Callable接口,然后执行execute()方法或者submit方法,提交到线程池中。 如果任务实现的是Runnable接口,线程池运行完任务后就结束了,如果任务实现的Callable接口,则需要将任务执行的接口返回,主线程通过get()或者cancle()方法获取任务的返回值,或者取消执行任务。

上面梳理类Executor框架的主要类和接口,下面对主要的类和接口做一个解释:

Executor框架的主要成员

ThreadPoolExecutor , ScheduledThreadPoolExecutor,Future接口,Runnable接口,Callable接口和Executors是Executor框架的主要成员,下面进行具体的分析:

ThreadPoolExector 通常使用工厂类Executors类创建,可以创建如下3中类型:

ScheduledThreadPoolExecutor

Future接口

Runnable和Callable接口

参考:
书籍:《JAVA并发编程艺术 - 方腾飞》

上一篇下一篇

猜你喜欢

热点阅读