[英]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.