2
我有一個彈簧控制器。來自控制器的請求線程被傳遞給@Service註釋的Service類。現在我想要做一些後臺工作,請求線程必須如何觸發後臺線程並繼續它自己的工作,並且不應該等待後臺線程完成。安全地在春季請求線程內產生新線程
我的第一個問題:is this safe to do this.?
第二個問題:how to do this.?
我有一個彈簧控制器。來自控制器的請求線程被傳遞給@Service註釋的Service類。現在我想要做一些後臺工作,請求線程必須如何觸發後臺線程並繼續它自己的工作,並且不應該等待後臺線程完成。安全地在春季請求線程內產生新線程
我的第一個問題:is this safe to do this.?
第二個問題:how to do this.?
這是安全
不是真的。如果你有很多併發用戶,你會爲每個用戶產生一個線程,而大量的線程可能會讓你的服務器癱瘓。應用服務器使用一個線程池,正是爲了避免這個問題。
如何做到這一點
我會使用asynchronous capabilities of Spring做到這一點。調用@Async
註釋的服務方法,服務方法將由另一個線程從可配置池執行。