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

Java常见的六种线程池、线程池-四种拒绝策略总结

点个关注,必回关

一、线程池的四种拒绝策略:

  • CallerRunsPolicy - 当触发拒绝策略,只要线程池没有关闭的话,则使用调用线程直接运行任务。
    一般并发比较小,性能要求不高,不允许失败。 但是,由于调用者自己运行任务,如果任务提交速度过快,可能导致程序阻塞,性能效率上必然的损失较大
  • AbortPolicy - 丢弃任务,并抛出拒绝执行 RejectedExecutionException 异常信息。
    线程池默认的拒绝策略。 必须处理好抛出的异常,否则会打断当前的执行流程,影响后续的任务执行。
  • DiscardPolicy - 直接丢弃,其他啥都没有
  • DiscardOldestPolicy - 当触发拒绝策略,只要线程池没有关闭的话,丢弃阻塞队列 workQueue
    中最老的一个任务,并将新任务加入

二、Java中的六种线程池

线程池名称描述
FixedThreadPool核心线程数与最大线程数相同
SingleThreadExecutor一个线程的线程池
CachedThreadPool核心线程为0,最大线程数为Integer. MAX_VALUE
ScheduledThreadPool指定核心线程数的定时线程池
SingleThreadScheduledExecutor单例的定时线程池
ForkJoinPoolJDK 7 新加入的一种线程池
  • ThreadPoolExecutor的类图,以及Executors的主要方法
    在这里插入图片描述
http://www.lryc.cn/news/1355.html

相关文章:

  • Node=>Express中间件分类 学习4
  • 在阿里当外包,是一种什么工作体验?
  • Vue3快速入门【二】
  • C++-类和对象(上)
  • CAPL(vTESTStudio) - DoIP - TCP接收_04
  • 联合培养博士经历对于国内就业有优势吗?
  • 测试左移之需求质量
  • 【数据结构初阶】第三节.顺序表详讲
  • 新手小白适合做跨境电商吗?
  • Python搭建自己[IP代理池]
  • pandas——plot()方法可视化
  • 【Three.js基础】坐标轴辅助器、requestAnimationFrame处理动画、Clock时钟、resize页面尺寸(二)
  • C++之完美转发、移动语义(forward、move函数)
  • LeetCode刷题系列 -- 48. 旋转图像
  • 在多线程环境下使用哈希表
  • 【排序算法】堆排序(Heap Sort)
  • 分类预测 | Matlab实现SSA-RF和RF麻雀算法优化随机森林和随机森林多特征分类预测
  • Allegro如何添加ICT操作指导
  • 软件架构设计(二)——领域架构、基于架构的软件开发方法
  • 数组常用方法(2)---数组遍历方法
  • 卸载Node.js
  • 发表计算机SCI论文,会经历哪些过程? - 易智编译EaseEditing
  • python中lambda的用法
  • 网络安全协议(3)
  • 102.第十九章 MySQL数据库 -- MySQL的备份和恢复(十二)
  • 【C++】C++入门 类与对象(一)
  • 笔记_js运算符
  • java面试题(十九) Mybatis
  • Linux系统位运算函数以及相应CPU ISA实现收录
  • logback配置文件---logback.xml