代码改变世界

ThreadPoolExecutor四种拒绝策略

  学学技术  阅读(633)  评论(0编辑  收藏  举报

当线程数超过maximumPoolSize时需要拒绝请求,jdk中自带的拒绝策略均实现了java.util.concurrent.RejectedExecutionHandler接口,有四种策略:

1、AbortPolicy

默认的拒绝策略。直接抛出 java.util.concurrent.RejectedExecutionException异常

2、CallerRunsPolicy

将任务返还给调用者线程执行

3、DiscardPolicy

直接抛弃无法处理的任务,不予处理不抛异常。如果业务汇总允许任务丢失,这是最好的策略

4、DiscardOldestPolicy

抛弃队列中等待最久的任务,然后把当前任务加入队列中尝试再次提交当前任务

编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示