在啟動類上添加注解
@EnableAsync
會開啟spring boot 的異步
會在底層創建一個線程池(不同於tomcat的線程)
用來異步的處理影響用戶體驗的業務
@EnableAsync //spring容器啟動時會創建線程池
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
在需要異步線程處理的方法上添加注解
@Async
會為這個方法從線程池中單獨分配線程執行
在配置文件中為線程池配置參數
spring:
task:
execution:
pool:
queue-capacity: 128 #等待隊列的大小
core-size: 5 #核心線程數
max-size: 128 #最大線程數
keep-alive: 60000 #線程空閑時間(當線程空閑60*1000 毫秒的時候會釋放線程)
thread-name-prefix: db-service-task- #給線程起的名字前綴
