java定时任务之 Timer
这几天一直在搞一个预警监控后台程序,其他都搞定了,最纠结的就是那个每天固定时间执行的问题,纠结的原因主要是对Timer的方法没有搞清楚,timer.schedule(TimerTask task,long l1,long l2);可以很明显的知道在l1时间段以后执行task,然后每l2时间执行一次,
可是timer.schedule(TimerTask task,Date l1,long l2);刚开始没有搞太清楚,总是以为是l1的date控制的每天执行一次,忽略了l2的存在,总是在date上边乱弄,刚开始也想过按
timer.schedule(TimerTask task,long l1,long l2);的逻辑来实现每天执行一次,可是不知怎么的就改方向了,导致困惑了好久,后来突然发现,这个timer.schedule(TimerTask task,Date l1,long l2);和timer.schedule(TimerTask task,long l1,long l2);完全是一样的啊,只是类型不同,都是根据l2的值来决定运行次数和频率的,只是前者是以某一固定时间为首次运行,而后者是以多少毫秒数以后为首次运行时间,就这么一个小的理解错误,导致我一天多时间的浪费,做了好多无用功!唉!下次一定要注意这种错误!不能在同一块石头上绊倒第二次!
也希望童鞋们在学习工作中,一定不要走类似的弯路,太浪费时间了!