Java线程池

Posted Joshua

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java线程池相关的知识,希望对你有一定的参考价值。

java.util.concurrent包

 

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

Executor

  |-ExecutorService <- ThreadPoolExecutor

    |-ScheduledExecutorService <- ScheduledThreadPoolExecutor

 

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

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

1. newCachedThreadPool()

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

2. newFixedThreadPool()

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

3. newSingleThreadExecutor()

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

4. newScheduledThreadPool()

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

5. newSingleScheduledExecutor()

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

以上是关于Java线程池的主要内容,如果未能解决你的问题,请参考以下文章

Java线程池

java创建线程池都有哪些

java线程池

java线程池原理

JAVA线程池使用哪一种比较好

如何使用java语言实现一个线程池,不使用jdk自带的线程池