Java线程池

java.util.concurrent包

 

接口及相关类的继承关系:

interface: Executor - ExecutorService - ScheduledExecutorService

subclass: ThreadPoolExecutor - ScheduledThreadPoolExecutor

Executor

  |-ExecutorService <- ThreadPoolExecutor

    |-ScheduledExecutorService <- ScheduledThreadPoolExecutor

 

由于ThreadPoolExecutor和ScheduledThreadPoolExecutor构造函数过于复杂,因此使用类Executors对其进行默认设置

Executors内部有五个产生线程池的工厂方法(方法内部对ThreadPoolExecutor和ScheduledThreadPoolExecutor的参数进行默认设置):

1. newCachedThreadPool()

  无界线程池:有任务时创建新线程,空闲线程保留60s自动回收

2. newFixedThreadPool()

  固定大小线程池:空闲保留,若任务超出线程池大小则等待

3. newSingleThreadExecutor()

  只有一个工作线程,依次执行任务

4. newScheduledThreadPool()

  按时间计划进行任务的单个工作线程

5. newSingleScheduledExecutor()

  按时间计划(定时、周期任务)进行任务的线程池

posted on 2016-10-31 23:01  Joshua_AW  阅读(102)  评论(0编辑  收藏  举报

导航