springboot Async執行緒預設配置

2022-07-01 17:15:10 字數 954 閱讀 8281

@async非同步方法預設使用spring建立threadpooltaskexecutor。

預設核心執行緒數:8,

最大執行緒數:integet.max_value,

佇列使用linkedblockingqueue,容量是:integet.max_value

執行緒池拒絕策略:abortpolicy。

可以手動配置相應屬性:

#核心執行緒數

spring.task.execution.pool.core-size=200

#最大執行緒數

spring.task.execution.pool.max-size=1000

#空閒執行緒保留時間

spring.task.execution.pool.keep-alive=3s

#佇列容量

spring.task.execution.pool.queue-capacity=1000

#執行緒名稱字首

spring.task.execution.thread-name-prefix=test-thread-

配置類是taskexecutionproperties【org.springframework.boot.autoconfigure.task.taskexecutionproperties】

參考位址

springboot專案中@async方法沒有執行的問題分析 : 

spring boot教程(21) – 預設執行緒池 : 

隨筆 springboot Async註解

在springboot中使用非同步執行緒,需使用 async註解。在啟動類上需增加 enableasync proxytargetclass true proxytargetclass為選擇何種 enableasync proxytargetclass true public static void...

Springboot Async註解簡單使用

啟動類 enablescheduling enabletransactionmanagement enableasync 被非同步呼叫的方法 async public void async throws interruptedexception 呼叫者 呼叫者 解決辦法 author yz clas...

SpringBoot Async 非同步註解無效

解決思路 先檢視啟動類是否加上 enableasync 註解,如果沒有,就加上該註解再重新啟動 檢視非同步方法的呼叫方式是否正確 async的呼叫涉及到動態 如果直接將需要非同步操作的方法寫到業務類中,業務類直接呼叫,則執行邏輯不會走到 類,非同步就會失效 例如用下面的方式呼叫 錯誤演示 非同步就不...