Executor框架结构
Executor 框架主要由 3 大部分组成如下。
任务,包括被执行任务需要实现的接口:Runnable接口或Callable接口。
任务的执行,包括任务执行机制的核心接口
Executor
,以及继承自Executor
的ExecutorService
接口。Executor
框架有两个关键类实现了ExecutorService
接口(ThreadPoolExecutor
和ScheduledThreadPoolExecutor
)。异步计算的结果,包括接口
Future
和实现Future
接口的FutureTask
类。
Executor 框架包含的主要的类与接口:
Executor
是一个接口,它是Executor
框架的基础,它将任务的提交与任务的执行分离开来。ThreadPoolExecutor
是线程池的核心实现类,用来执行被提交的任务。ScheduledThreadPoolExecutor
是一个实现类,可以在给定的延迟后运行命令,或者定期执行命令。ScheduledThreadPoolExecutor
比Timer
更灵活,功能更强大。Future
接口和实现Future
接口的FutureTask
类,代表异步计算的结果。Runnable
接口和Callable
接口的实现类,都可以被ThreadPoolExecutor
或ScheduledThreadPoolExecutor
执行。