1. 程式人生 > >springboot多執行緒程式設計

springboot多執行緒程式設計

spring通過任務執行器TaskExecutor來實現多執行緒和併發程式設計。
使用ThreadPoolTaskExecutor可實現一個基於執行緒池的TaskExecutor。
而實際開發中任務一般是非阻塞的,即非同步的,所以我們要在配置類中通過@EnableAsync註解來開啟對非同步任務的支援,並通過在實際執行的bean的方法中使用@Async註解來宣告其是一個非同步任務。


具體操作:
1.利用@EnableAsync註解來開啟非同步任務支援。
2.配置類實現AsyncConfigurer介面並重寫getAsyncExecutor方法,並返回一個ThreadPoolTaskExecutor,這樣就可以獲得一個基於執行緒池的TaskExecutor。
3.在執行方法上新增@Async註解來宣告這個方法是非同步方法。如果註解在類上,則表明該類的所有方法都是非同步的,而這裡的方法自動被注入使用ThreadPoolTaskExecutor作為TaskExecutor。