线程池主要参数及作用
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 ...
最新文章
- c语言程序设计第3周编程作业(数字特征)
- vuepress侧边栏配置_VuePress搭建静态博客网站
- FileOutStream
- TCP与UDP在socket编程中的区别
- 机器学习week9 ex8 review
- C#中的9个“黑魔法”与“骚操作”
- java servlet post取值_Java servlet无法获得POST参数
- mysql timestamp 当前_技术分享 | MySQL 复制那点事 - Seconds_behind_Master 参数调查笔记
- 【C++入门】C++ string类
- 我的世界seus光影java版下载_我的世界seus光影mod
- 电力系统及其自动化毕业论文题目【精选】
- 软件测试---微信小程序测试点
- Windows系统怎么查看电脑的系统位数?
- [4G5G专题-70]:物理层 - 4G LTE 下行物理控制格式指示信道PCFICH与物理下行控制信道PDCCH
- 新手学python笔记--3--爬取天天基金数据
- 《Python编程-从入门到实践》
- SAP中总账科目行项目不显示的处理方法
- 单线激光雷达为什么这么火?
- Java项目如何接入钉钉群机器人
- 健康的生活——导言篇