執行緒池的3大方法,7大引數,執行原理,拒絕策略

2021-10-21 18:37:00 字數 1031 閱讀 5778

executors.newsinglethreadexecutor(); 單執行緒

executors.newfixedthreadpool(5); 固定執行緒個數

executors.newcachedthreadpool(); 快取池,可擴充套件

public

threadpoolexecutor

(int corepoolsize,

//常駐核心執行緒數

int maximumpoolsize,

//最大執行緒數

long keepalivetime,

//空閒執行緒存活時間(數字)

timeunit unit,

//空閒執行緒存活時間(單位)

blockingqueue

workqueue,

//任務佇列

threadfactory threadfactory,

//執行緒工廠

rejectedexecutionhandler handler)

//拒絕策略

corepoolsize 個執行緒處理任務多餘的任務在任務佇列中等待任務佇列滿了之後,執行緒池的執行緒數會擴容到 maximumpoolsize執行緒池最大承載能力滿了(任務佇列+maximumpoolsize),拒絕任務abortpolicy(預設):直接丟擲rejectedexecutionexception異常阻止系統正常執行。discardpolicy:丟棄無法處理的任務,不會丟擲異常。(如果允許任務丟失,這是最好的一種策略)discardoldestpolicy:拋棄佇列中等待最久的任務,重新提交當前任務。callerrunspolicy(呼叫者執行):由呼叫執行緒(提交任務的執行緒)處理該任務。

執行緒池 3大方法 7大引數 4種拒絕策略

執行緒池 3大方法 7大引數 4種拒絕策略 池化技術 程式的執行,本質 占用系統的資源 優化資源的使用 池化技術。執行緒池 連線池 記憶體池 物件池 建立 銷毀。十分浪費資源 池化技術 事先準備好一些資源,有人要用,就來我這裡拿,用完還給我 執行緒池的好處 1 降低資源的消耗 2 提高響應的速度 3...

執行緒池7大引數深入介紹

1.corepoolsize 執行緒池中的常駐核心執行緒數 1 在建立了執行緒池後,當有請求任務來之後,就會安排池中的執行緒去執行請求任務,近似理解為今日當值執行緒 2 當執行緒池中的執行緒數目達到corepoolsize後,就會把到達的任務放到快取佇列當中 2.maximumpoolsize 執行...

使用執行緒池手動建立7大引數4大策略

為什麼需要自己定義執行緒池 newfixedthreadpool,newsinglethreadexecutor,newcachedthreadpool實際呼叫的都是threadpoolexecutor方法,而這方法由7大引數,我們要使用執行緒池的時候最好自己定義執行緒池通過定義threadpool...