线程池主要参数及作用
1、线程池构造器
public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> workQueue) {this(corePoolSize, maximumPoolSize, keepAliveTime, unit, workQueue,Executors.defaultThreadFactory(), defaultHandler);
}
2、五个重要参数
1、corePoolSize(核心线程数量)
向线程池提交一个任务,此时,若线程池已创建的线程数小于corePoolSize,即便此时存在空闲线程,也会通过创建一个新线程来执行该任务,直到已创建的线程数大于或等于corePoolSize时,(除了利用提交新任务来创建和启动线程(按需构造),也可以通过 prestartCoreThread() 或 prestartAllCoreThreads() 方法来提前启动线程池中的基本线程。)
2、maximumPoolSize(最大线程数量)
线程池所允许的最大同时可执行线程数量。当队列满了,且已创建的线程数小于maximumPoolSize,则线程池会创建新的线程来执行任务。另外,对于无界队列,可忽略该参数。
3、keepAliveTime(线程存活保持时间)
当线程池中线程数大于核心线程数时,线程的空闲时间如果超过线程存活时间,那么这个线程就会被销毁,直到线程池中的线程数小于等于核心线程数。
4、workQueue(任务队列)
用于传输和保存等待执行任务的阻塞队列。
5、threadFactory(线程工厂)
用于创建新线程。threadFactory创建的线程也是采用new Thread()方式,threadFactory创建的线程名都具有统一的风格:pool-m-thread-n(m为线程池的编号,n为线程池内的线程编号)。
5、handler(线程饱和策略)
当线程池和队列都满了,再加入线程会执行此策略。
线程池主要参数及作用相关推荐
- java线程池的参数设置
java线程池的参数设置 在说如何对线程池优化之前重复一下线程的7大参数 corePoolSize: 核心线程数,也是线程池中常驻的线程数,线程池初始化时默认是没有线程的,当任务来临时才开始创建线程去 ...
- 经典面试题-线程池七大参数
线程池七大参数 corePoolSize 核心线程数目 - 池中会保留的最多线程数 maximumPoolSize 最大线程数目 - 核心线程+救急线程的最大数目 keepAliveTime 生存时间 ...
- Java 线程池及参数动态调节详解
前前言:本文搬自:why技术 前言:曾经自诩对线程池了如指掌,不料看了美团的一篇技术文章后才知道原来线程池的参数还可以动态调节. 经典面试题 在这篇文章中我主要回答上面抛出的这个问题:你这几个参数的值 ...
- java 动态线程池_线程池的参数动态调整
经典面试题 这次的文章还是绕回了我写的第三篇原创文章<有的线程它死了,于是它变成一道面试题>中留下的几个问题: 哎,兜兜转转,走走停停.天道好轮回,苍天饶过谁? 在这篇文章中我主要回答上面 ...
- Java多线程之线程池的参数和配置
在Java多线程编程中,线程池是一种常见的技术,用于管理线程的创建和销毁.线程池中的线程可以被重复利用,从而减少了线程的创建和销毁的开销,提高了程序的性能.在Java中,线程池的参数和配置非常重要,不 ...
- Java_Java多线程_Java线程池核心参数 与 手动创建线程池
参考文章: 1.浅谈线程池ThreadPoolExecutor核心参数 https://www.cnblogs.com/stupid-chan/p/9991307.html 2.Java线程池 Thr ...
- Java线程池七大参数详解和配置
目录 一.corePoolSize核心线程数 二.maximunPoolSize最大线程数 三.keepAliveTime空闲线程存活时间 四.unit空闲线程存活时间的单位 五.workQueue线 ...
- ThreadPoolExecutor(线程池)的参数
构造函数 public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit u ...
- 【Java 并发编程】线程池机制 ( ThreadPoolExecutor 线程池构造参数分析 | 核心线程数 | 最大线程数 | 非核心线程存活时间 | 任务阻塞队列 )
文章目录 前言 一.ThreadPoolExecutor 构造参数 二.newCachedThreadPool 参数分析 三.newFixedThreadPool 参数分析 四.newSingleTh ...
最新文章
- linux计划任务怎么做,做linux计划任务的步骤
- webpack 零基础到工程实战(1)
- Windows如何开启虚拟化,以安装虚拟机?
- 多校#5-1005-Instring-HDU5785-manacher+维护
- DEBUG -- CLOSE BY CLIENT STACK TRACE问题的两种解决方案,整理自网络
- 国二office计算机基础知识,国二office计算机基础知识选择题
- 一个程序员的时间管理“辛”路历程
- dcp-9020cdn复印位置有_兄弟DCP-9020CDN打印机驱动
- cad卸载_3分钟搞定CAD无法卸载问题,CAD卸载不再是烦恼
- NOI2014--起床困难症
- linux live usb 使用方法,Linux下制作Live USB方法
- windows xp sp3
- 【Python项目】你们还在冲会员看电影电视剧嘛?Python带你免费看电影电视剧资源 | 附源码
- win10系统 没有wifi图标 WiFi列表没有显示
- MapReduce 原理与实践
- 服务器运行温度30,服务器工作环境温度为度~度之间,最好度。
- hdu 1496 QQpet exploratory park 水概率dp
- 毫米波雷达的系统设计细节(1) - 从雷达方程到雷达威力图
- 微信小程序实现文字随机颜色
- DDR是什么,干什么用