二、线程池

作者: 紫荆秋雪_文 | 来源:发表于2020-06-20 16:02 被阅读0次

一、ThreadPoolExecutor构造方法

        /**
         * 参数1:创建线程池数量
         * 参数2:最大线程池数量
         * 参数3:空闲线程存活时间
         * 参数4:空闲线程存活时间单位
         * 参数5:阻塞队列
         * 参数6:线程策略
         */
        ThreadPoolExecutor threadPool = new ThreadPoolExecutor(
                5,
                200,
                20,
                TimeUnit.SECONDS,
                new LinkedBlockingDeque<>(10000),
                Executors.defaultThreadFactory(),
                new ThreadPoolExecutor.AbortPolicy()
        );

运行流程

  • 1、线程池创建,准备好core数量的核心线程,准备接受任务
  • 2、core满了,就将再进来的任务放入阻塞队列中。空闲的core就会自己去阻塞队列获取任务来执行
  • 3、阻塞队列满了,就直接开新线程执行,最大只能开到 max 指定的数量
  • 4、max都执行好了。Max-core数量空闲的线程会在 keepAliveTime 指定的时间后自动销毁。最终保存到core大小
  • 5、如果线程数开到了 max 的数量,还有新任务进来,就会使用 reject 指定的拒绝策略进行处理
  • 6、所有的线程创建都是由指定的 factory 创建的
  • new LinkedBlockingDeque<>():默认是 Integer 的最大值。会造成内存不够

二、为何要使用线程池

降低资源的消耗

  • 通过重复利用已经创建好的线程来降低线程的创建和销毁带来的损耗

提高响应速度

  • 因为线程池中的线程数没有超过线程池的最大上限时,有的线程处于等待分配任务的状态,当任务来时无需创建新的线程就能执行

提高线程的可管理性

  • 线程池会根据当前系统特点对池内的线程进行优化处理,减少创建和销毁线程带来的系统开销。无限的创建和销毁线程不仅消耗系统资源,还降低系统的稳定性,使用线程池进行统一分配。

相关文章

  • juc9-Executors

    0 线程池类图 一 ForkJoinPool 分治线程池 二 ThreadPoolExecutor 固定线程数线程...

  • 线程池总结

    1 第一篇 初识线程池主要讲线程池的好处,线程池的分类,以及线程池的结构图2 第二篇 再识线程池通过线程池的构造函...

  • 线程池

    线程池的文章:JDK线程池(一):体系结构JDK线程池(二):ThreadPoolExecutor深入分析java...

  • 2020-07-28JDK5.0之后新增的创建多线程的方式2

    新增方式二:使用线程池 线程池相关API JDK 5.0起提供了线程池相关API:ExecutorService ...

  • 线程池解析第一章-源码解析

    线程池解析第一章-源码解析线程池解析第二章-线程池源码问题总结 线程池基本介绍 为什么要使用线程池 对于系统和服务...

  • Springboot | 线程池的学习,多线程池配置示例

    一、线程和进程,线程的生命周期二、单线程和多线程三、线程池的概念四、线程池的使用五、多线程池配置示例 一、线程和进...

  • 线程学习_03线程池

    线程池结构图: 一、关于Executor: 1.1 线程池的顶层接口Executor: 1.2 线程池的第二层接口...

  • ThreadPoolExecutor的内部工作原理

    一、初始化一个线程池 基于ThreadPoolExecutor类初始化一个指定线程数的线程池线程池 二、提交任务 ...

  • 实战! 多线程线程池分析

    一 项目线程池运用 二 线程池代码分析 线程池参数这里面的参数分别为初始线程数3,最大线程数6,线程存活时间0毫秒...

  • 线程池(ThreadPoolExecutor)

    一:Executor知识点 二:线程池模型 1:线程池模型:生产者-消费者模式(与一般的池化资源模式不同),线程池...

网友评论

    本文标题:二、线程池

    本文链接:https://www.haomeiwen.com/subject/olfgxktx.html