贴源码

为了形象的理解线程池,我们将它比作是一个理发店

corePoolSize(5) 核心线程数

就是里面 5位理发师 接待5个顾客


workQueue(2)  阻塞队列

就好比 第6个和第7个客户来了 此时5位理发师都在工作,那不好意思了 请坐在凳子上稍等一下


maximumPoolSize  最大线程数(6)

如果第8个顾客来了  这家伙顾客越来越多 不能让等太久了,所以店长(第6个线程)出来接待顾客


unit:这个用来指定keepAliveTime的单位,比如秒:TimeUnit.SECONDS


keepAliveTime (30分钟)空闲线程最大存活时间

超出corePoolSize大小的那些线程(店长) 如果店长接待完了第8个顾客  然后没有要接待的顾客了 等了30分钟 、

依然没有要接待的顾客 那么这时候店长就休息了


RejectedExcutionHandlder: 当workQueue已经满了,并且线程池线程数已经达到maximumPoolSize,将执行拒绝策略

当第9个顾客来时,有两个人依然在等待 6个理发师(5个理发师加店长)都在工作,此时已经不能再接待顾客了,所以将谢绝来客


threadFactory:线程工厂,用来创建线程,主要是为了给线程起名字,默认工厂的线程名字:pool-1-thread-3。

线程池的几个主要参数的作用和运行原理相关推荐

  1. java 线程池 初始大小,Java线程池ThreadPoolExecutor的实现和参数

    接文章Java8线程池--底层为LinkedBlockingQueue的ThreadPoolExecutor,文章中简单介绍了线程池保持线程,并且从阻塞队列中获取任务执行的流程.本篇文章详细介绍线程池 ...

  2. 线程池源代码详解,参数详解

    线程池源代码详解,参数详解 ThreadPoolExecutor 构造函数源代码 public ThreadPoolExecutor(int corePoolSize, int maximumPool ...

  3. 线程池ThreadPool,线程池底层ThreadPoolExecutor方法七大参数,拒绝策略,以及实际开发中高并发下用到哪个线程池?

    为什么要用线程池 基本的三个线程池的底层就是ThreadPoolExecutor类 ExecutorService threadPool = Executors.newFixedThreadPool( ...

  4. 线程池的七个核心参数

    先看下源码 public ThreadPoolExecutor(int corePoolSize,int maximumPoolSize,long keepAliveTime,TimeUnit uni ...

  5. 线程池的几个重要参数

    线程池 - ThreadPoolExecutor 参数 corePoolSize :核心线程数量 maximumPoolSize :线程最大线程数 workQueue :阻塞队列,存储等待执行的任务 ...

  6. 线程池7大参数的作用,及其原理总结

    ① corePoolSize 顾名思义,其指代核心线程的数量.当提交一个任务到线程池时,线程池会创建一个核心线程来执行任务,即使其他空闲的核心线程能够执行新任务也会创建新的核心线程,而等到需要执行的任 ...

  7. JAVA线程池ThreadPoolExecutor创建以及各参数的详细说明

    最近把线程很多的东西都温故了一遍,发现还漏了个线程池,今天看了些线程池的文章,然后加入了自己的理解,总结如下 首先看下一个线程池的最简单的构造方法如下 * @param corePoolSize th ...

  8. 线程池三大方法,七大参数,四种拒绝策略

    线程和进程: 进程: 一个程序,是执行程序的一次执行过程. 一个进程往往包含若干个线程,线程是cpu调度和执行的单位. Java默认有2个线程:main.GC 池化技术: 01:程序的运行,本质 :占 ...

  9. java中的线程池有哪些,分别有什么作用?

    阅读完本篇文章会知道如下三点: 1.进程-线程简单介绍 2.java的线程池是什么,有哪些类型,作用分别是什么 3.使用线程池的优点 1.进程-线程的简单介绍 进程 什么是进程呢? 进程是计算机中的程 ...

最新文章

  1. libsvm学习 all
  2. JQuery合并表格单元格
  3. Tomcat 5 5 JNDI Resource 配置
  4. 深度学习2.0-1.tensorflow的基础操作之数据类型
  5. 【图像隐写】基于matlab FRFT+SVD盲水印嵌入+攻击+提取【含Matlab源码 1757期】
  6. 配有傲腾内存的电脑如何安装系统
  7. ui-grid 使用讲解
  8. 互联网广告定价策略与算法
  9. ACL-访问控制列表
  10. Django中的Model(操作表) - 第五轻柔的code - 博客园
  11. 单向可控硅和双向可控硅的详细介绍(含引脚的分辨)
  12. 手动卸载 Office 2013 或 Office 365
  13. mysql数据库命中率_Oracle数据库关于命中率的查询语句总结
  14. Excel文档的生成和压缩
  15. java分层窗格_Swing拆分窗格控件JSplitPane使用详解
  16. 夜神模拟器运行微信闪退如何解决?
  17. 单片机,DSP,ARM,FPGA的特点与区别
  18. unturned直连服务器开法,未变异者(Unturned)TP-link直连服开服方法图文介绍
  19. MPU6050姿态传感器的接线说明
  20. Unable to open debugger port (127.0.0.1:57459): java.net.SocketExcept

热门文章

  1. 北京供销大数据集团落户温江 助力成都打造国家中心城市
  2. 让你了解操作系统基本概念
  3. python制做简单图片代码_Python简单的制作图片验证码
  4. ardupilot 上实现ADRC内环角速度控制
  5. 基于Java毕业设计传统文化知识竞赛系统源码+系统+mysql+lw文档+部署软件
  6. 8Manage:如何确认建设项目的收入?
  7. 向量的内积(点乘)与外积(叉乘)
  8. Python 1:Python学习计划概述
  9. 手机通讯录项目 基于C++编程语言
  10. Android TabLayout选项卡点击选中Ripple水波纹