執行緒池都有哪些核心配置引數?

2022-06-28 06:54:13 字數 720 閱讀 1154

表示常駐核心執行緒數量。

表示執行緒池中能同時執行的最大執行緒數量。這個值必須大於等於corepoolsize,如果這兩個值相等,那就是固定大小的執行緒池

表示執行緒池中除常駐核心執行緒之外的其他執行緒的空閒時間,如果超過這個時間就會銷毀。

快取佇列,當請求的執行緒數大於corepoolsize的時候,執行緒會進入佇列進行阻塞。當這個佇列達到上限之後,執行緒池會建立新的執行緒,直到到嗎maximumpoolsize大小位置。

表示拒絕策略。當queue滿了之後,並行活動的執行緒數大於maximunpoolsize的時候,執行緒池通過改策略處理請求。

其中rejectedexcutionhandler預設包含四種策略:

abortpolicy(預設)

丟棄這個任務並丟擲 rejectedexecutionexception異常

discardpolicy

丟棄掉這個任務,但是不丟擲異常

discardoldestpolicy

拋棄掉在佇列中等待最久的任務,然後把當前任務加入佇列中

callerrunspolicy

呼叫任務的run()方法繞過執行緒池直接執行

另外還支援自定義模式。

public class userrejectedhandler implements rejectedexecutionhandler 

}

表示執行緒工廠。他用來生產一組相同任務的執行緒。

執行緒池都有哪些狀態

running 這是最正常的狀態,接受新的任務,處理等待佇列中的任務。執行緒池的初始化狀態是 running。執行緒池被一旦被建立,就處於 running 狀態,並且執行緒池中的任務數為 0。shutdown 不接受新的任務提交,但是會繼續處理等待佇列中的任務。呼叫執行緒池的 shutdown 方法...

terminated 執行緒 執行緒池都有哪些狀態

1.running 這是最正常的狀態,接受新的任務,處理等待佇列中的任務。執行緒池的初始化狀態是running。執行緒池被一旦被建立,就處於running狀態,並且執行緒池中的任務數為0。2.shutdown 不接受新的任務提交,但是會繼續處理等待佇列中的任務。呼叫執行緒池的shutdown 方法時...

執行緒核心引數? 如何合理配置執行緒池引數?

預設配置 corepoolsize 1 queuecapacity integer.max value maxpoolsize integer.max value keepalivetime 60秒 allowcorethreadtimeout false rejectedexecutionhand...