Executor框架(接口)负责在用户级别进行任务的调度和执行, 实现了任务调度和执行的分离.
Executor框架简介
Executor框架的两级调度模型
在上层, Java程序通过将应用分解为若干个任务(task),
然后使用用户级的调度器(Executor
框架)将task映射为固定数量的Java线程.
在底层, Java线程与操作系统的线程是一一对应的关系, 由操作系统调度给可用的CPU. 底层的调度不受上层的影响.
Executor框架工作流程
主要包括3大组件:
- 异步任务:
Runnable
或者Callable
的实现类; - 异步任务的调度和执行(用户级别):
Executor
接口的实现类ThreadPoolExecutor
和ScheduledThreadPoolExecutor
; - 异步计算的结果: 接口
Future
和接口的实现类FutureTask
.
组件间关系如下: