使用Timer时的有趣现象
在使用Timer的scheduleAtFixedRate方法时,没留意设定的开始时间比实际时间稍早,
然后设定每分钟执行一次。
当程序启动后,马上执行了数次,然后开始等待,
主要是因为scheduleAtFixedRate会从设定的时间开始,对任务进行周期性执行,
鉴于开始时间比实际时间要早,而且在这段时间内,任务理论上需要执行数次,
所以会出现程序启动后,任务马上执行数次,然后进入等待的现象。
而使用schedule则不会重新执行过往的任务。
在使用Timer的scheduleAtFixedRate方法时,没留意设定的开始时间比实际时间稍早,
然后设定每分钟执行一次。
当程序启动后,马上执行了数次,然后开始等待,
主要是因为scheduleAtFixedRate会从设定的时间开始,对任务进行周期性执行,
鉴于开始时间比实际时间要早,而且在这段时间内,任务理论上需要执行数次,
所以会出现程序启动后,任务马上执行数次,然后进入等待的现象。
而使用schedule则不会重新执行过往的任务。