schedule() 和 scheduleAtFixedRate() 区别
1. schedule() ,2个参数方法:
在执行任务时,如果指定的计划执行时间scheduledExecutionTime <=
systemCurrentTime,则task会被立即执行。
2. schedule() ,3个参数方法:
在执行任务时,如果指定的计划执行时间scheduledExecutionTime <=
systemCurrentTime,则task会被立即执行,之后按period参数固定重复执行。
3. scheduleAtFixedRate() ,3个参数方法:
在执行任务时,如果指定的计划执行时间scheduledExecutionTime<=
systemCurrentTime,则task会首先按执行一次;然后按照执行时间、系统当前时间和period参数计算出过期该执行的次数,计算按照:
(systemCurrentTime-scheduledExecutionTime)/period,再次执行计算出的次数;最后按period参数固定重复执行。
4. schedule() 和scheduleAtFixedRate()
schedule()方法更注重保持间隔时间的稳定。
scheduleAtFixedRate()方法更注重保持执行频率的稳定。
国泰民安