java非同步延遲任務執行
阿新 • • 發佈:2019-01-06
今天遇到一個奇怪的需求:需要在某個操作後,延遲10min執行另一個操作。
一 新建執行緒
首先想到的方法便是新建一個執行緒完成此操作:
輸出
看起來這個操作沒有問題 ,但是現在專案中就有問題了。
這是阿里程式碼檢查工具的提示。
試想一下,每次進行這種操作便新建執行緒是不可取的,如果這個操作執行多次,便會建立大量執行緒,對虛擬機器執行造成巨大的壓力。
二 使用執行緒池
輸出結果
在專案中當然也可以將執行緒池交給spring進行維護
三 spring執行緒池
接下來就是專案中注入並使用這個threadPool物件了
spring中還有一個ThreadTask,有時間的朋友可以去研究研究。