Java线程池

Posted 初心么

tags:

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

什么是线程池?

池化概念 (可重复利用、减少系统资源占用、加快使用连接的过程) 

 

为什么使用线程池?

降低系统资源消耗,通过重用已存在的线程,降低线程创建和销毁造成的消耗;

提高系统响应速度,当有任务到达时,通过复用已存在的线程,无需等待新线程的创建便能立即执行;

提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一的分配,调优和监控

提供更强大的功能,延时定时线程池。可以帮助我们执行一些延时任务或定时任务。

 

jdk1.8线程池结构图

 

 

 

 

 

Executor

一个接口,其定义了一个接收Runnable对象的方法executor,其方法签名为executor(Runnable command),

  ExecutorService

  是一个比Executor使用更广泛的子类接口,其提供了生命周期管理的方法,以及可跟踪一个或多个异步任务执行状况返回Future的方法

    AbstractExecutorService

    ExecutorService执行方法的默认实现

      ForkJoinPool

      将大任务分解成若干个小任务,当小任务均执行结束后,将任务做一个整合。

      ThreadPoolExecutor

      线程池,可以通过调用Executors以下静态工厂方法来创建线程池并返回一个ExecutorService对象。

    ScheduledExecutorService

    一个可定时调度任务的接口

      ScheduledThreadPoolExecutor

      ScheduledExecutorService的实现,一个可定时调度任务的线程池

 

 

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

Java线程池

java创建线程池都有哪些

java线程池

java线程池原理

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

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