我正在开展一个学校项目,我在定时器计划方面遇到了一些问题。我以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分钟的差距)。
答案 0 :(得分:0)
您需要在[{1}}中将延迟作为0
传递
由于您只传递了两个参数,因此工具20 * 1000作为周期而不是延迟。不确定这是否有帮助
输出
timer.schedule(TimerTask task, long delay, long period)