Timer的schedule和scheduleAtFixedRate方法的區別解析

落葉瀟瀟雨發表於2013-07-10
在java中,Timer類主要用於定時性、週期性任務 的觸發,這個類中有兩個方法比較難理解,那就是schedule和scheduleAtFixedRate方法,在這裡就用例項分析一下

(1)schedule方法:“fixed-delay”;如果第一次執行時間被delay了,隨後的執行時間  上一次 實際執行完成的時間點 進行計算。(如果這個任務執行的時間比較長,後面的任務將會被一直延遲下去)

(2)scheduleAtFixedRate方法:“fixed-rate”;如果第一次執行時間被delay了,隨後的執行時間按照 上一次開始的 時間點 進行計算,並且為了”catch up”會多次執行任務,TimerTask中的執行體需要考慮同步 。(不管這個任務執行時間多長,到了時間點就會執行一個新的任務)

 

詳細參考:http://blog.csdn.net/gtuu0123/article/details/6040159
 

相關文章