不少人问到,为什么我的程序只执行了一次,之后就不再执行了,定时器没有起作用?
看了一下Timer的schedule方法的api文档:
schedule(TimerTask task, long delay)的注释:
Schedules the specified task for execution after the specified delay。
在延时delay毫秒后执行task。并没有提到重复执行
schedule(TimerTask task, long delay, long period)的注释:
Schedules the specified task for repeated fixed-delay execution, beginning after the specified delay。
在延时delay毫秒后重复的执行task,周期是period毫秒。
区别就是第一个方法只执行一次,第二个方法有周期的,都涉及到了延时。
下面一个小DWMO:
Task.java
Test .java
执行:
i lovbe you.Tue Sep 01 14:43:50 CST 2009
i lovbe you.Tue Sep 01 14:43:51 CST 2009
i lovbe you.Tue Sep 01 14:43:52 CST 2009
i lovbe you.Tue Sep 01 14:43:53 CST 2009
i lovbe you.Tue Sep 01 14:43:54 CST 2009
i lovbe you.Tue Sep 01 14:43:55 CST 2009
i lovbe you.Tue Sep 01 14:43:56 CST 2009