线程池拒绝策略保存任务
时间: 2023-11-17 16:48:52 浏览: 143
java线程池概念.txt
5星 · 资源好评率100%
线程池的拒绝策略是用来处理当线程池已经关闭或达到饱和状态时,新提交的任务无法被执行时的情况。线程池提供了四种默认的拒绝策略:
1. AbortPolicy(默认策略):当线程池已经关闭或者已经达到饱和状态时,新提交的任务将会抛出RejectedExecutionException异常,表示任务被拒绝执行。
2. CallerRunsPolicy:直接在execute方法的调用线程中运行被拒绝的任务。这意味着当线程池已经关闭时,任务将被丢弃。
3. DiscardPolicy:直接丢弃任务,不抛出任何异常。这意味着新提交的任务将被默默地丢弃,不会得到执行。
4. DiscardOldestPolicy:丢弃队列中等待时间最长的任务,并执行当前提交的任务。如果线程池已经关闭,任务将被丢弃。
除了这四种默认的拒绝策略之外,你还可以自定义拒绝策略,只需要实现RejectedExecutionHandler接口,并在创建线程池的时候指定自定义的拒绝策略。
阅读全文