簡體   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