关于线程池的回收

核心线程通常不会回收,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,则新建的是非核心线程。

终于搞清楚了,关于核心线程会不会回收相关推荐

  1. 一文详解java线程池 详解Java线程池的七个参数 详解池化技术 java如何选择核心线程数 详解Java线程池的拒绝策略

    目录 引言 线程池使用场景 加快请求响应(响应时间优先) 加快处理大任务(吞吐量优先) 特殊说明 线程池的池化技术 线程池的创建 手动创建 创建newFixedThreadPool线程池 创建newS ...

  2. Java线程池的核心线程数和最大线程数

    Java的线程池就像是一个花瓶容器. 而把任务提交给线程池就像是把小球塞进花瓶. 整个过程就像下面这个有趣的动画: 下面我们先来了解一下Java线程池的参数. 希望看完这篇文章后, 再提起线程池的时候 ...

  3. 【Java 并发编程】线程池机制 ( 线程池执行任务细节分析 | 线程池执行 execute 源码分析 | 先创建核心线程 | 再放入阻塞队列 | 最后创建非核心线程 )

    文章目录 一.线程池执行任务细节分析 二.线程池执行 execute 源码分析 一.线程池执行任务细节分析 线程池执行细节分析 : 核心线程数 101010 , 最大小成熟 202020 , 非核心线 ...

  4. 【Java 并发编程】线程池机制 ( ThreadPoolExecutor 线程池构造参数分析 | 核心线程数 | 最大线程数 | 非核心线程存活时间 | 任务阻塞队列 )

    文章目录 前言 一.ThreadPoolExecutor 构造参数 二.newCachedThreadPool 参数分析 三.newFixedThreadPool 参数分析 四.newSingleTh ...

  5. Java多线程(五):线程池应该设置多少核心线程数

    创建线程池有个CorePoolSize参数,指的是核心线程数,该参数应该设置为多大呢? CPU密集型 一般公式:CPU核数 + 1 通过以下代码动态获取CPU核数: Runtime.getRuntim ...

  6. 终于搞明白gluPerspective和gluLookAt的关系了

    2019独角兽企业重金招聘Python工程师标准>>> 终于搞明白gluPerspective和gluLookAt的关系了 函数原型 gluLookAt(GLdoble eyex,G ...

  7. 第二天,终于搞定 —— 2014.10.28

    npm install 报错 bower ENOGIT git is not installed or not in the PATH 的问题终于搞定. 在angular-phonecat文件夹打开n ...

  8. Java线程池如何合理配置核心线程数

    我相信大家都用过线程池,但是线程池数量设置为多少比较合理呢? 线程数的设置的最主要的目的是为了充分并合理地使用 CPU 和内存等资源,从而最大限度地提高程序的性能,因此让我们一起去探索吧! 首先要考虑 ...

  9. 我终于搞清楚了和String有关的那点事儿

    转载自   我终于搞清楚了和String有关的那点事儿 String,是Java中除了基本数据类型以外,最为重要的一个类型了.很多人会认为他比较简单.但是和String有关的面试题有很多,下面我随便找 ...

最新文章

  1. Android Studio 配置虚拟设备的镜像文件的存放路径
  2. Vijos P1131 最小公倍数和最大公约数问题【暴力】
  3. S3C6410禁用和启用触摸屏
  4. std:forward 完美转发
  5. 4k hidpi 黑苹果_【ITX小钢炮】黑苹果安装经验分享
  6. 向您的JVM添加一些熵
  7. 初始java_第一章__初始JAVA
  8. CDH5.16.2下载安装
  9. scan——Theano中循环的实现
  10. 【Prison Break】第一天(3.27)
  11. 免费错别字检测、在线纠错工具
  12. 爆火书单视频怎么制作?实用制作教程来了
  13. 挖掘长尾关键词的五大思路
  14. laravel中公共子视图继承实现
  15. 拿铁DHT-PHEV座舱智能程度体验笔记(超详细)
  16. 1、Swoole是什么?你可以通过swoole干些什么?
  17. Drools从入门到精通
  18. java-multimap使用
  19. UE4打包项目部署到Quest遇到的问题
  20. 终于有人把 ZFS 文件系统讲明白了

热门文章

  1. 本周AI热点回顾:何恺明RegNet超越EfficientNet、数学难题“abc猜想”封印终被开启、微软麻将 AI 论文发布
  2. 6款常用且好用的Python编辑器推荐!
  3. 非常漂亮的个人网站引导页HTML源码
  4. 「Harbor」- HTTP status 504 Gateway Time-out @20210318
  5. 21day学通python epub_Python Day21
  6. java 多线程 迅雷_Java 仿迅雷多线程下载
  7. 计算机老师的寄 语,计算机专业老师毕业赠言
  8. 开始写老虎证券美股策略
  9. 数据库原理--数据库管理系统的功能与组成
  10. 百度 谷歌分页_利用SEO来提高Google收录PR值和百度网站权重