Timer类
Timer类是进行任务调度的类,用来管理周期性任务的执行。
scheduleAtFxiedRate和schedule
在Timer类中有两个方法用来提交周期性任务, public void schedule(TimerTask task, long delay, long period) ;和 public void scheduleAtFixedRate(TimerTask task, long delay, long period) ;那么这两个方法的差别是什么?
schedule方法的下一次执行时间是(本次准确执行时间+周期),而scheduleAtFixedRate方法的下一次执行是(本次应该执行的时间+周期)。schedule方法有可能因为上次任务的时间过长导致下次任务的执行时间往后推移,而scheduleAtFixed的每次任务的执行时间是固定的,只要这个任务被提交了,那么每次的执行时间就是固定的。