繁体   English   中英

java.util.Timer无法正常工作

[英]java.util.Timer not working properly

我正在做一个学校项目,但计时器时间表出现了一些问题。 我以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分钟的间隔)。

您需要在timer.schedule(TimerTask task, long delay, long period)中将延迟传递为0 ,因为仅传递了两个参数,所以它将20 * 1000作为周期而不是延迟。 不确定这是否有帮助

产量

Wed Jan 21 17:16:47 IST 2015
Wed Jan 21 17:16:47 IST 2015
Wed Jan 21 17:17:07 IST 2015
Wed Jan 21 17:17:27 IST 2015
Wed Jan 21 17:17:47 IST 2015
Wed Jan 21 17:18:07 IST 2015
Wed Jan 21 17:18:27 IST 2015
Wed Jan 21 17:18:47 IST 2015

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM