執行緒池的拒絕策略
1、是什么?
- 等待佇列已經排滿了,再也塞不下新任務了
- 同時,執行緒池中的max執行緒也達到了,無法繼續為新任務服務,
- 這個是時候我們就需要拒絕策略機制合理的處理這個問題,
2、JDK內置的拒絕策略
- AbortPolicy(默認):直接拋出RejectedExecutionException例外阻止系統正常運行
- CallerRunsPolicy:“呼叫者運行”一種調節機制,該策略既不會拋棄任務,也不會拋出例外,而是將某些任務回退到呼叫者,從而降低新任務的流量,
- DiscardOldestPolicy:拋棄佇列中等待最久的任務,然后把當前任務加人佇列中嘗試再次提交當前任務,
- DiscardPolicy:該策略默默地丟棄無法處理的任務,不予任何處理也不拋出例外,如果允許任務丟失,這是最好的一種策略,
均實作了RejectedExecutionHandle介面
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/107053.html
標籤:其他
