Executor框架

Executor框架的两级调度模型

在HotSpotVM的线程模型中,Java线程被一对一的映射到本地操作系统线程.在上层,Java多线程通常将应用分解为若干个任务,然后使用户的调度器(Executor)将这些任务映射为固定数量的线程;在底层操作系统将这些线程映射到硬件处理器.

Executor框架的结构

主要由3部分组成:

  1. 任务:包括执行任务需要的接口Runnable,Callable
  2. 任务的执行:任务执行的核心接口Executor及子类ExecutorService及实现(ThreadPoolExecutor,ScheduledThreadPoolExecutor)
  3. 异步计算的结果:接口Future和实现类FutureTask

Executor框架的成员

  1. ThreadPoolExecutor
    • FixedThreadPool:使用固定线程数的线程池
    • SingleThreadPool:使用单线程的线程池
    • CachedThreadPool:根据需要创建新线程的线程池
  2. ScheduledThreadPoolExecutor:可以顺序延迟执行的线程池
    • ScheduledThreadPoolExecutor:包含若干个线程的线程池
    • SingleThreadScheduledExecutor:只包含一个线程
  3. Future接口:异步计算的结果
  4. Runnable接口和Callable接口:任务

ThreadPoolExecutor详解

你可能感兴趣的:(Executor框架)