前言

最近一直在线程池中游泳,对于四种的线称饱和策略,看了无数片CSDN文章,居然发现一堆博主连个DiscardOldestPolicy 策略都说不清楚,每次都是一句话,丢弃线称队列的旧的任务,将新的任务添加,我也是无语?那 什么叫旧的任务? 怎么算是旧的任务???

DiscardOldestPolicy 解释

我们知道,线称饱和状态(拒绝策略)一共分为4种:

ThreadPoolExecutor.AbortPolicy:丢弃任务并抛出RejectedExecutionException异常。  【默认】
ThreadPoolExecutor.DiscardPolicy:也是丢弃任务,但是不抛出异常。
ThreadPoolExecutor.DiscardOldestPolicy:丢弃线称队列的旧的任务,将新的任务添加
ThreadPoolExecutor.CallerRunsPolicy:由调用线程处理该任务 【谁调用,谁处理】

怎么算旧的任务?

到底抛弃的是什么任务?

在翻阅了无数资料后,发现了一个博主写的比较准确:

将最早进入队列的任务删除,之后再尝试加入队列


另外一共博主写的也比较精准

当任务被拒绝添加时,会抛弃任务队列中最旧的任务也就是最先加入队列的,再把这个新任务添加进去。在rejectedExecution先从任务队列种弹出最先加入的任务,空出一个位置,然后再次执行execute方法把任务加入队列。

结语

希望大家尽量博客尽量避免粘贴,认真考量后再进行编写博客。

来源参考
https://blog.csdn.net/xxj_jing/article/details/84835476 【Java-五种线程池,四种拒绝策略,三种阻塞队列】
https://www.jianshu.com/p/9fec2424de54 【java多线程-ThreadPoolExecutor的拒绝策略】

线称池饱和策略:DiscardOldestPolicy解释相关推荐

  1. java线程池饱和策略_干货:Java几种线程池的分析和使用。

    原标题:干货:Java几种线程池的分析和使用. 利用线程池的优势: 1.降低资源消耗.通过重复利用已创建的线程降低线程创建和销毁造成的消耗. 2.提高响应速度.当任务到达时,任务可以不需要等到线程创建 ...

  2. java线程池饱和策略_线程池的饱和策略-调用者执行 | 学步园

    java并发编程实践阅读笔记之线程池的饱和策略 使用java的任务管理框架的线程池执行任务时,线程池的任务等待队列被填满时,饱和策略开始发挥作用.ThreadPollExecutor的饱和策略通过se ...

  3. Java线程池系列--饱和策略(拒绝策略)的使用(有实例)

    原文网址:Java线程池系列--饱和策略(拒绝策略)的使用(有实例)_IT利刃出鞘的博客-CSDN博客 简介 本文用示例介绍Java线程池的饱和策略(拒绝策略). 概述 Java线程池的饱和策略如下: ...

  4. 多线程池、饱和策略详解

    一.序言 当我们需要使用线程的时候,我们可以新建一个线程,然后显式调用线程的start()方法,这样实现起来非常简便,但在某些场景下存在缺陷:如果需要同时执行多个任务(即并发的线程数量很多),频繁地创 ...

  5. java线程池拒绝策略_Java核心知识 多线程并发 线程池原理(二十三)

    线程池做的工作主要是控制运行的线程的数量,处理过程中将任务放入队列,然后在线程创建后 启动这些任务,如果线程数量超过了最大数量超出数量的线程排队等候,等其它线程执行完毕, 再从队列中取出任务来执行.他 ...

  6. 【多线程】线程池拒绝策略详解与自定义拒绝策略

    线程池的拒绝策略 ThreadPoolExecutor内部有实现4个拒绝策略,默认为AbortPolicy策略 CallerRunsPolicy:由调用execute方法提交任务的线程来执行这个任务 ...

  7. java中有界队列的饱和策略(reject policy)

    文章目录 AbortPolicy DiscardPolicy DiscardOldestPolicy CallerRunsPolicy 使用Semaphore java中有界队列的饱和策略(rejec ...

  8. java线程池拒绝策略_Java线程池ThreadPoolExecutor的4种拒绝策略

    最近在做大批量数据采集转换工作,基础数据在本地但是需要调用网络资源完成数据转换.多方面原因在保证良好运行情况下,最多开5个线程进行网络资源调用.方案是基础数据在数据库分页,循环遍历每一条数据,创建调用 ...

  9. 【Java 并发编程】线程池机制 ( 线程池阻塞队列 | 线程池拒绝策略 | 使用 ThreadPoolExecutor 自定义线程池参数 )

    文章目录 一.线程池阻塞队列 二.拒绝策略 三.使用 ThreadPoolExecutor 自定义线程池参数 一.线程池阻塞队列 线程池阻塞队列是线程池创建的第 555 个参数 : BlockingQ ...

最新文章

  1. JavaScript版本的策略模式
  2. php mysqli还原数据库,PHP mysqli操作数据库
  3. synchronized细节问题
  4. Qt的qrc资源文件在Visual studio编译出的Qt程序中不能显示问题解决
  5. Setuptool+pip安装
  6. 《课程的反思与重建--我们需要什么样的课程观》之学习体会
  7. 51Nod-1081 子段求和【前缀和】
  8. MySQL(17)-----数值函数
  9. 2022R1快开门式压力容器操作考试模拟100题模拟考试平台操作
  10. 非度量多维标度_R软件包vegan教程 2.1非度量多维度标度变换
  11. t’触发器真值表和状态方程_T触发器的特性表.ppt
  12. 2022年成考(专升本)考试政治练习题及答案
  13. 打车日记 - 上班迟到
  14. linux下如何查看hdmi设备,如何在Linux中设置HDMI数字播放 | MOS86
  15. [转]office2010一直卡在“正在受保护的视图中打开”
  16. 使用canvas绘制笑脸
  17. [MATLAB] 主成分分析法 求矩阵的权重
  18. Java List去重 Lis集合去重 List去重效率对比 List去重复元素效率对比 List去重效率
  19. dataframe建一个空的,pySpark创建空DataFrame
  20. 在uni-app当中引入本地图片注意事项以及阿里矢量图iconfont.css当中文件查找失败:‘./iconfont.eot解决办法

热门文章

  1. 銆愪笂娴锋憚褰辨鍑虹銆戜笂娴蜂笂娴锋憚褰辨鍑虹鎵瑰彂 - 涓浗渚涘簲鍟...
  2. Mysql workbench 快捷键
  3. 刚毕业还在试用期的java工程师
  4. 2016年全国大学生数学建模B题优秀论文
  5. 谈谈我现在毕业后做的工作
  6. 团队里A和B吵架了,经理M该干啥?
  7. 智慧供水大数据平台整体解决方案
  8. python - 常用Excel模块
  9. 电商网站搭建——upstream的指令参数
  10. libpcap linux安装,CentOS 7 下安装 libpcap