面试java线程池的拒绝策略
周星驰007Java线程池在提交任务时,如果线程池中的工作线程已经满了,那么就必须有一种机制来处理这种情况,这个机制就是所谓的拒绝策略。Java线程池提供了四种默认的拒绝策略,分别是:
1. AbortPolicy(默认):
感谢老师的诗词>你好吗简谱歌谱
该策略会直接抛出RejectedExecutionException异常,阻止系统正常运行。
经文纬武
2. CallerRunsPolicy:辗转难眠的意思
该策略表示无法执行的任务将被直接放回到提交任务的线程中运行,即由提交任务的线程自己执行被拒绝的任务。
3. DiscardPolicy:
该策略表示无法执行的任务会被直接丢弃,不会有任何处理。
4. DiscardOldestPolicy:
文思泉涌该策略表示无法执行的任务会与当前线程池中最早的任务进行竞争,如果竞争成功,最早的任务将被删除并执行当前任务,否则当前任务也将被丢弃。
不见不散歌词在实际开发中也可以根据具体情况自定义拒绝策略。入住证明