Spring 執行緒池

2021-09-12 05:05:46 字數 849 閱讀 5316

spring 執行緒池

從例子開始講:

corepoolsize:執行緒池至少有2個執行緒是啟動的,即使是空閒的也不會關閉。

maxpoolsize:最大的執行緒數目,當corepoolsize繁忙時,會建立執行緒,啟動的總的執行緒數不能大於maxpoolsize     

queuecapacity:queuecapacity: 佇列大小,當corepoolsize沒有空閒執行緒的時候,允許queuecapacity個執行緒任務等待,queuecapacity佇列滿時!才會在corepoolsize的基礎上,maxpoolsize之內進行新的執行緒的建立!

keepaliveseconds: 單位毫秒,超過這個時間後會將大於corepoolsize的執行緒關閉

rejectedexecutionhandler: 拒絕執行任務的具體操作,abortpolicy表示丟擲rejectedexecutionexception異常。還有其他的幾種選擇。callerrunspolicy:主線程執行該任務,執行完之後嘗試新增下乙個任務到執行緒池中,可以有效降低向執行緒池內新增任務的速度。

看具體的**:

public class test 

public void test() catch (rejectedexecutionexception e)

}private class taskthread implements runnable }}

}

上述配置表明:執行緒池可以同時併發5個任務,佇列中允許6個任務等待。超過11個任務的時候,會直接丟擲rejectedexecutionexception 異常。執行緒空閒時間超過2秒會關閉,直到達到執行緒數為2.

Spring執行緒池配置

1 配置檔案中配置執行緒池 class org.springframework.scheduling.concurrent.threadpooltaskexecutor corepoolsize 執行緒池至少有2個執行緒是啟動的,即使是空閒的也不會關閉。maxpoolsize 最大的執行緒數目,當c...

Spring整合執行緒池

自己在程式中手動new很容易造成執行緒濫用,建立執行緒也是比較消耗資源的操作,所以建議如果有此需求,將執行緒池統一交給spring框架進行管理。如下 bean id taskexecutor class org.springframework.scheduling.concurrent.thread...

Spring整合執行緒池

threadpoolexecutor.abortpolicy 丟棄任務並丟擲rejectedexecutionexception異常 threadpoolexecutor.discardpolicy 也是丟棄任務,但是不丟擲異常。threadpoolexecutor.discardoldestpol...