1. 程式人生 > >使用Timer的缺陷

使用Timer的缺陷

開發十年,就只剩下這套架構體系了! >>>   

Java.util.Timer定時器實際上是一個單執行緒,實際排程所擁有的TimerTask任務。

1.時間的不準確性

如果存在多個任務,其中某個任務因為某種原因導致任務的執行時間特別長,超過了兩個任務的間隔時間,就會出現延遲

輸出:

2.異常終止

在執行TimerTask丟擲了未補貨的異常,則會導致Timer執行緒終止,還會終止其他任務。

輸出:

3.執行週期依賴系統時間

 所以如果系統時間出現了變化,那麼就會出現一些執行上的變化。

使用alibaba開發手冊會提示下面的提示:

Timer的這些問題其實可以通過ScheduledExcutor來解決,所以下次我們看看這個類怎麼可以做的更好!