Java定時任務介面ScheduledExecutorService代替Timer
阿新 • • 發佈:2019-01-22
Java定時任務介面,ScheduledExecutorService,替換Timer的類。。。。
鴻洋大神的部落格地址:http://blog.csdn.net/lmj623565791/article/details/27109467
ScheduledExecutorService的兩種方法:
1.scheduleAtFixedRate
方法。2.scheduleWithFixedDelay
方法。
兩個方法的區別
ScheduleAtFixedRate
每次執行時間為上一次任務開始起向後推一個時間間隔,即每次執行時間為initialDelay
(任務開始時間),initialDelay
(任務開始時間)+period(間隔),initialDelay
period
。。。。。
ScheduleWithFixedDelay每次執行時間為上一次任務結束起向後推一個時間間隔,即每次執行時間為:initialDelay
(任務開始時間),initialDelay
(任務開始時間)+executeTime
(任務執行時間)+delay
(間隔),initialDelay
+2*executeTime+2*delay
。。。。。
由此可見,ScheduleAtFixedRate
是基於固定時間間隔進行任務排程,ScheduleWithFixedDelay
取決於每次任務執行的時間長短,是基於不固定時間間隔進行任務排程。