终于搞清楚了,关于核心线程会不会回收
关于线程池的回收
核心线程通常不会回收,java核心线程池的回收由allowCoreThreadTimeOut参数控制,默认为false,若开启为true,则此时线程池中不论核心线程还是非核心线程,只要其空闲时间达到keepAliveTime都会被回收。但如果这样就违背了线程池的初衷(减少线程创建和开销),所以默认该参数为false。
设置方法
static ThreadPoolExecutor executor=new ThreadPoolExecutor(8,16,0,TimeUnit.SECONDS,new LinkedBlockingQueue<>(10));static {//如果设置为true,当任务执行完后,所有的线程在指定的空闲时间后,poolSize会为0//如果不设置,或者设置为false,那么,poolSize会保留为核心线程的数量executor.allowCoreThreadTimeOut(true); }
keepAliveTime是指当线程池中线程数量大于corePollSize时,此时存在非核心线程,keepAliveTime指非核心线程空闲时间达到的阈值会被回收。
corePoolSize:核心线程最大数量,通俗点来讲就是,线程池中常驻线程的最大数量。线程池新建线程的时候,如果当前线程总数小于corePoolSize,则新建的是核心线程;如果超过corePoolSize,则新建的是非核心线程。
终于搞清楚了,关于核心线程会不会回收相关推荐
- 一文详解java线程池 详解Java线程池的七个参数 详解池化技术 java如何选择核心线程数 详解Java线程池的拒绝策略
目录 引言 线程池使用场景 加快请求响应(响应时间优先) 加快处理大任务(吞吐量优先) 特殊说明 线程池的池化技术 线程池的创建 手动创建 创建newFixedThreadPool线程池 创建newS ...
- Java线程池的核心线程数和最大线程数
Java的线程池就像是一个花瓶容器. 而把任务提交给线程池就像是把小球塞进花瓶. 整个过程就像下面这个有趣的动画: 下面我们先来了解一下Java线程池的参数. 希望看完这篇文章后, 再提起线程池的时候 ...
- 【Java 并发编程】线程池机制 ( 线程池执行任务细节分析 | 线程池执行 execute 源码分析 | 先创建核心线程 | 再放入阻塞队列 | 最后创建非核心线程 )
文章目录 一.线程池执行任务细节分析 二.线程池执行 execute 源码分析 一.线程池执行任务细节分析 线程池执行细节分析 : 核心线程数 101010 , 最大小成熟 202020 , 非核心线 ...
- 【Java 并发编程】线程池机制 ( ThreadPoolExecutor 线程池构造参数分析 | 核心线程数 | 最大线程数 | 非核心线程存活时间 | 任务阻塞队列 )
文章目录 前言 一.ThreadPoolExecutor 构造参数 二.newCachedThreadPool 参数分析 三.newFixedThreadPool 参数分析 四.newSingleTh ...
- Java多线程(五):线程池应该设置多少核心线程数
创建线程池有个CorePoolSize参数,指的是核心线程数,该参数应该设置为多大呢? CPU密集型 一般公式:CPU核数 + 1 通过以下代码动态获取CPU核数: Runtime.getRuntim ...
- 终于搞明白gluPerspective和gluLookAt的关系了
2019独角兽企业重金招聘Python工程师标准>>> 终于搞明白gluPerspective和gluLookAt的关系了 函数原型 gluLookAt(GLdoble eyex,G ...
- 第二天,终于搞定 —— 2014.10.28
npm install 报错 bower ENOGIT git is not installed or not in the PATH 的问题终于搞定. 在angular-phonecat文件夹打开n ...
- Java线程池如何合理配置核心线程数
我相信大家都用过线程池,但是线程池数量设置为多少比较合理呢? 线程数的设置的最主要的目的是为了充分并合理地使用 CPU 和内存等资源,从而最大限度地提高程序的性能,因此让我们一起去探索吧! 首先要考虑 ...
- 我终于搞清楚了和String有关的那点事儿
转载自 我终于搞清楚了和String有关的那点事儿 String,是Java中除了基本数据类型以外,最为重要的一个类型了.很多人会认为他比较简单.但是和String有关的面试题有很多,下面我随便找 ...
最新文章
- Android Studio 配置虚拟设备的镜像文件的存放路径
- Vijos P1131 最小公倍数和最大公约数问题【暴力】
- S3C6410禁用和启用触摸屏
- std:forward 完美转发
- 4k hidpi 黑苹果_【ITX小钢炮】黑苹果安装经验分享
- 向您的JVM添加一些熵
- 初始java_第一章__初始JAVA
- CDH5.16.2下载安装
- scan——Theano中循环的实现
- 【Prison Break】第一天(3.27)
- 免费错别字检测、在线纠错工具
- 爆火书单视频怎么制作?实用制作教程来了
- 挖掘长尾关键词的五大思路
- laravel中公共子视图继承实现
- 拿铁DHT-PHEV座舱智能程度体验笔记(超详细)
- 1、Swoole是什么?你可以通过swoole干些什么?
- Drools从入门到精通
- java-multimap使用
- UE4打包项目部署到Quest遇到的问题
- 终于有人把 ZFS 文件系统讲明白了
热门文章
- 本周AI热点回顾:何恺明RegNet超越EfficientNet、数学难题“abc猜想”封印终被开启、微软麻将 AI 论文发布
- 6款常用且好用的Python编辑器推荐!
- 非常漂亮的个人网站引导页HTML源码
- 「Harbor」- HTTP status 504 Gateway Time-out @20210318
- 21day学通python epub_Python Day21
- java 多线程 迅雷_Java 仿迅雷多线程下载
- 计算机老师的寄 语,计算机专业老师毕业赠言
- 开始写老虎证券美股策略
- 数据库原理--数据库管理系统的功能与组成
- 百度 谷歌分页_利用SEO来提高Google收录PR值和百度网站权重