最开始学习java的时候不知道java还有个定时器,一直使用Thread.sleep(xxx);来实现定时,后来认识了Timer后,如果指定任务时设定了period,就会一直固定间隔period时间段来执行,那时候为了防止上次任务没有结束,下次任务又启动了特意设定了synchronized标记。呵呵想起真可笑。。
再到后来,就发现period属性原来是上次任务结束后下次任务启动时的间隔时间。也就是说run方法return后,再到下次调用run方法的间隔时间。而不是固定period时间调用run方法。
如果要在固定的间隔时间调用run方法可以采用Linux的crontab。先直接写一个main,main直接调用run方法。然后在crontab中设定间隔时间。