1、AbortPolicy:這種拒絕策略在拒絕任務時,直接提出RejectedExecutionexception類型的Runtimeeexception,覺任務被拒絕,可以根據業務邏輯重試或放棄提交
2、DiscardPolicy:新任務提交後來直接丟棄,沒有任何通知,有一定的風險,有可能遺失資料。
3、DiscardOldestPolicy:新任務提交後,將丟棄生存時間最長的任務,同樣也有遺失資料的風險。
4、CallerRunsPolicy:新任務提交後,該任務提交給提交任務的線程,即誰提交任務,誰負責任務。這樣做主要有兩點好處。
第一,新提交的任務不會被拋棄,不會造成業務損失。
第二,由於誰提交任務誰負責任務,提交任務的路線必須負責任務,執行任務需要時間,在此期間,提交任務的路線被佔有,不提交新任務,任務提交速度變慢,相當於負面回饋。在此期間,執行緒池的執行緒也可以充分利用這個時間執行一部分任務,騰出一定的空間,相當於給執行緒池一定的緩衝期。
Java中的集合主要分為四類:
1、List列表:有順序的,可重複的;
2、Queue佇列:有序,可重複的;
3、Set集合:不可重複;
4、Map映射:無序,鍵唯一,值不唯一。
以上是java執行緒池有什麼拒絕策略的詳細內容。更多資訊請關注PHP中文網其他相關文章!