1. 程式人生 > >Java定時任務介面ScheduledExecutorService代替Timer

Java定時任務介面ScheduledExecutorService代替Timer

Java定時任務介面,ScheduledExecutorService,替換Timer的類。。。。
鴻洋大神的部落格地址:http://blog.csdn.net/lmj623565791/article/details/27109467
ScheduledExecutorService的兩種方法:
1.scheduleAtFixedRate方法。2.scheduleWithFixedDelay方法。

兩個方法的區別
ScheduleAtFixedRate每次執行時間為上一次任務開始起向後推一個時間間隔,即每次執行時間為initialDelay(任務開始時間),initialDelay(任務開始時間)+period(間隔),initialDelay

+2*period。。。。。

ScheduleWithFixedDelay每次執行時間為上一次任務結束起向後推一個時間間隔,即每次執行時間為:initialDelay(任務開始時間),initialDelay(任務開始時間)+executeTime(任務執行時間)+delay(間隔),initialDelay+2*executeTime+2*delay。。。。。

由此可見,ScheduleAtFixedRate是基於固定時間間隔進行任務排程,ScheduleWithFixedDelay取決於每次任務執行的時間長短,是基於不固定時間間隔進行任務排程。