中断策略实际上是指饱和策略(concurent包中的RejectedExecutionHandler接口),这里需要先解释一下,什么叫饱和策略, 实际就是说, 线程池中的线程容器已经放不下新的任务了,饱和了, 必须要有一个相应的策略来处理。 ThreadPoolExecutor内部,已经定义了4种饱和策略.
AbortPolicy: (中止)它是默认的策略。
CallerRunsPolicy: (调用者运行), 它既不会丢弃任务,也不会抛出任何异常,它会把任务推回到调用者那里去,以此缓解任务流
DiscardPolicy: (遗弃)策略,它默认会放弃这个任务
DiscardOldestPolicy:(遗弃最旧的),它选择的丢弃的任务,是它本来要执行的(可怜的娃,就这样被新加入的给排挤了)
AbortPolicy: (中止)它是默认的策略。
CallerRunsPolicy: (调用者运行), 它既不会丢弃任务,也不会抛出任何异常,它会把任务推回到调用者那里去,以此缓解任务流
DiscardPolicy: (遗弃)策略,它默认会放弃这个任务
DiscardOldestPolicy:(遗弃最旧的),它选择的丢弃的任务,是它本来要执行的(可怜的娃,就这样被新加入的给排挤了)