欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

线程池的拒绝策略

程序员文章站 2022-03-09 15:59:19
线程池的拒绝策略1、是什么?等待队列已经排满了,再也塞不下新任务了同时,线程池中的max线程也达到了,无法继续为新任务服务。这个是时候我们就需要拒绝策略机制合理的处理这个问题。2、JDK内置的拒绝策略AbortPolicy(默认):直接抛出RejectedExecutionException异常阻止系统正常运行CallerRunsPolicy:“调用者运行”一种调节机制,该策略既不会抛弃任务,也不会抛出异常,而是将某些任务回退到调用者,从而降低新任务的流量。DiscardOldestP...

线程池的拒绝策略

1、是什么?

  • 等待队列已经排满了,再也塞不下新任务了
  • 同时,线程池中的max线程也达到了,无法继续为新任务服务。
  • 这个是时候我们就需要拒绝策略机制合理的处理这个问题。

2、JDK内置的拒绝策略

  • AbortPolicy(默认):直接抛出RejectedExecutionException异常阻止系统正常运行
  • CallerRunsPolicy:“调用者运行”一种调节机制,该策略既不会抛弃任务,也不会抛出异常,而是将某些任务回退到调用者,从而降低新任务的流量。
  • DiscardOldestPolicy:抛弃队列中等待最久的任务,然后把当前任务加人队列中尝试再次提交当前任务。
  • DiscardPolicy:该策略默默地丢弃无法处理的任务,不予任何处理也不抛出异常。如果允许任务丢失,这是最好的一种策略。

均实现了RejectedExecutionHandle接口

本文地址:https://blog.csdn.net/qq_44763720/article/details/108699485

相关标签: java基础