使用 Java 中的 Timer.schedule() 定时器却没有定时执行指定任务
今天试用了下 Java 自带的定时器任务执行类 java.util.Timer 和 java.util.TimerTask ,按照文档写了個测试样例,结果发现只有第壹個 timer.schedule() 方法调用是生效的,其它的全都不生效,百思不得其解,Google 了半天发现网上全是各路神仙转载的文章,却没有人遇到同样的问题。实在是很纠结,只好求助于论坛了。以下是我的代码,大家看看到底有什么问题,导致后面三個方法调用不生效。先行谢过!
public class DemoTimerTask {
public static void main(String[] args) {
java.util.Timer timer = new java.util.Timer(true);
java.util.TimerTask task = new java.util.TimerTask(){
@Override
public void run() {
System.out.println("需要定时执行的任务...");
}
};
java.util.Date time = new java.util.Date();
long delay = 2000;
long period = 5000;
//启动定时任务,立即执行壹次退出
timer.schedule(task, time);
//启动定时任务,在 time 指定的时间执行壹次,然后每隔两秒执行壹次
// timer.schedule(task, time, delay);
//启动定时任务,从现在起过两秒执行壹次,然后退出
// timer.schedule(task, delay);
//启动定时任务,从现在起过两秒以后,每隔五秒执行壹次
// timer.schedule(task, delay, period);
}
}