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
取决于每次任务执行的时间长短,是基于不固定时间间隔进行任务调度。