平時在springboot中使用線程很常見,也沒有太在意相關細節,今日在springboot單元測試中測試異步線程,發現異步線程沒有執行,苦思憫想,沒有結論;觀察日志發現,主線程執行完畢,springboot線程池關閉,這時才明白,雖是單元測試,卻走的一個完整的springboot生命周期,主線程執行時間短,springboot運行結束,固線程池關閉,所以,在springboot單元測試中,測試異步線程最好子啊主線程最后幾行加Thread.sleep(),等待子線程執行結束后結束主線程,這樣做並沒有實際意義,就是為了觀察子線程到底執行沒有,在實際環境中,springboot一直運行中,故不會出現這種情況。