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...