ThreadPoolExecutor拒绝策略

ThreadPoolExecutor 的拒绝策略(RejectedExecutionHandler)在线程池无法处理新的任务时会被触发。下面介绍 Java 中 ThreadPoolExecutor 提供的几种内置拒绝策略,并展示如何自定义拒绝策略。

1. 内置拒绝策略

  1. AbortPolicy (默认策略)

    • 当任务无法被接受时,抛出 RejectedExecutionException 异常。
    new ThreadPoolExecutor.AbortPolicy()
    
  2. CallerRunsPolicy

    • 当任务无法被接受时,调用线程池的线程会执行该任务。这种策略提供了一种“回退”机制,从而降低新任务提交速度。
    new ThreadPoolExecutor.CallerRunsPolicy()
    
  3. DiscardPolicy

    • 当任务无法被接受时,直接丢弃任务,不做任何处理。
    new ThreadPoolExecutor.DiscardPolicy()
    
  4. DiscardOldestPolicy

    • 当任务无法被接受时,丢弃工作队列中最旧的未处理任务,然后重新尝试提交新任务。
    new ThreadPoolExecutor.DiscardOldestPolicy()
    

2. 自定义拒绝策略

可以通过实现 RejectedExecutionHandler 接口来创建自定义的拒绝策略。例如,记录被拒绝任务的日志或进行其他处理。

import java.util.concurrent.*;

public class 

相关推荐

  1. ThreadPoolExecutor拒绝策略

    2024-07-19 02:16:01       24 阅读
  2. 在Spring Boot中配置@Async的线程池的拒绝策略

    2024-07-19 02:16:01       52 阅读
  3. 拒绝拖延。

    2024-07-19 02:16:01       30 阅读
  4. 第一次使用ThreadPoolExecutor处理业务

    2024-07-19 02:16:01       51 阅读
  5. 第一次使用ThreadPoolExecutor遇到的问题

    2024-07-19 02:16:01       66 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-19 02:16:01       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-19 02:16:01       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-19 02:16:01       58 阅读
  4. Python语言-面向对象

    2024-07-19 02:16:01       69 阅读

热门阅读

  1. Redis 散列

    2024-07-19 02:16:01       17 阅读
  2. C# —— HashTable

    2024-07-19 02:16:01       21 阅读
  3. 4 Ajax

    2024-07-19 02:16:01       19 阅读
  4. GNU/Linux - U-BOOT的GPIO command

    2024-07-19 02:16:01       18 阅读
  5. 一篇文章帮你彻底搞懂剩余运算符!!

    2024-07-19 02:16:01       19 阅读
  6. selenium 之 css定位

    2024-07-19 02:16:01       21 阅读
  7. Elasticsearch SQL:解锁Elasticsearch数据的新方式

    2024-07-19 02:16:01       25 阅读
  8. 力扣第十二题——整数转罗马数字

    2024-07-19 02:16:01       21 阅读
  9. Qt 实战(6)事件 | 6.3、自定义事件

    2024-07-19 02:16:01       24 阅读
  10. 数据库(Database,简称DB)介绍

    2024-07-19 02:16:01       20 阅读
  11. x264、x265、libaom 编码对比实验

    2024-07-19 02:16:01       21 阅读