1. 程式人生 > >22. 定時器用什麽做的

22. 定時器用什麽做的

bsp csdn ice led log 定時器 jdk1.5 tails 詳細

Timer類的實現原理

請參考博文:https://blog.csdn.net/jijianshuai/article/details/78409381

Timer的兩大缺陷:

1. Timer底層是使用一個單線來實現多個Timer任務處理的,所有任務都是由同一個線程來調度,所有任務都是串行執行,意味著同一時間只能有一個任務得到執行,而前一個任務的延遲或者異常會影響到之後的任務。

2. Timer中所有的任務都是在一個線程中執行,那麽如果有一個定時任務在運行時,產生未處理的異常,那麽當前這個線程就會停止,那麽所有的定時任務都會停止,受到影響。

更好的定時任務實現:

JDK1.5後,ScheduledExecutorService

詳細實現類是:ScheduledThreadPoolExecutor

22. 定時器用什麽做的