当前位置: 首页 > news >正文

(JUC)核心线程 和 救急线程的区别;Executors-固定大小线程池单线程线程池

核心线程 和 救急线程的区别

救急线程是有个生存时间的,它执行完任务了,过了一段时间,没有新任务了,救急线程就会销毁掉,变成结束的状态

核心线程没有生存时间,它执行完任务后,它仍然会被保存在线程池中,不会让核心线程结束,会让核心线程一直去运行

KeepAliveTime 生存时间、unit时间单位,这两个参数就是针对于救急线程的

 

 

使用救急线程的前提,是要配合有界队列的使用。

如果队列选择了有界队列,那么任务超过了队列大小时,会创建 maximumPoolSize - corePoolSize 数目的线程来救急。

如果队列选择的是无界队列,那么就不会用到救急线程,任务会一直存入无界队列,然后由核心线程来轮流去处理无界队列里的任务。

如果线程到达 maximumPoolSize 仍然有新任务这时会执行拒绝策略。拒绝策略 jdk 提供了 4 种实现,

但是很多第三方框架都不是使用的jdk提供的,而是选择使用 更功能上的增强,在这些 功能上进行扩展

 

 

Executors-固定大小线程池

 

Executors-单线程线程池

 

http://www.lryc.cn/news/26204.html

相关文章:

  • vue2的动画和过渡效果
  • 正数负数的取反运算推导过程
  • C语言 条件编译
  • Linux: ARM GIC只中断CPU 0问题分析
  • 测试软件5
  • 前端JS内存管理
  • 第七章.集成学习(Ensemble Learning)—袋装(bagging),随机森林(Random Forest)
  • Java_面向对象
  • 【IoT】智能烟雾报警器
  • Python实现定时执行脚本(5)
  • JavaSe第4次笔记
  • epoll机制
  • Java使用不同方式获取两个集合List的交集、补集、并集(相加)、差集(相减)
  • 【Android笔记80】Android之Retrofit适配器和文件上传下载
  • Nodejs模块化
  • C++STL基础
  • 数学建模经验【更新中】
  • 【python学习笔记】:Excel 数据的封装函数
  • 如何获取或设置CANoe以太网网卡信息(GET篇)
  • “终于我从字节离职了...“一个年薪50W的测试工程师的自白...
  • 【Spring】八种常见Bean加载方式
  • 第五回:样式色彩秀芳华
  • 关于@Test单元测试
  • 【项目实战】WebFlux整合r2dbc-mysql实战
  • go版本分布式锁redsync使用教程
  • 大数据之Hudi数据湖_大数据治理_简介_发展历史_特性_应用场景---大数据之Hudi数据湖工作笔记0001
  • 射频功率放大器基于纵向导波的杆状构件腐蚀诊断方法的研究
  • Leedcode 二分查找 理解1
  • 【告别篇】大家好,再见了,我转行了,在筹备创业
  • Java——岛屿数量