java.util.Timer无法正常工作

时间:2015-01-21 11:35:08

标签: java timer schedule

我正在开展一个学校项目,我在定时器计划方面遇到了一些问题。我以20秒的倒计时开始计划。在开始计划之前,我打印一个包含系统当前日期的文本。在20秒结束后,我再次打印系统的当前日期和时间。问题是,两个日期之间没有20秒的延迟,打印第二条消息大约需要2分钟。我不知道出了什么问题。

以下代码:

...
System.out.println(date);
timer = new Timer();
try {
    timer.schedule(new TimerTask() {
        @Override
        public void run() {
            date = new Date();
            System.out.println(date);
        }
        }, 20 * 1000);
} catch (Throwable e) {
    e.printStackTrace();
}    
...

这些代码由许多线程执行(其中一些线程正确,但在其他线程上我得到这2分钟的差距)。

1 个答案:

答案 0 :(得分:0)

您需要在[{1}}中将延迟作为0传递 由于您只传递了两个参数,因此工具20 * 1000作为周期而不是延迟。不确定这是否有帮助

输出

timer.schedule(TimerTask task, long delay, long period)