首頁 >Java >java教程 >JDK Timer定時器的用法

JDK Timer定時器的用法

PHP中文网
PHP中文网原創
2017-06-28 10:34:111634瀏覽

實作並調度由計時器執行的任務
1) 實作 TimerTask 的自訂子類別。 run 方法包含執行任務的程式碼。   System.exit (0) ;
        }
    }
2) 透過實例化Timer 類別建立執行緒
    Timertimer = new timer();
3) 實例化定時器任務物件化定時器任務物件化計時器任務化 (new RemindTask( ))# #    RemindTask task = new RemindTask();
4) 安排計時器任務的執行。 ##  (2) 指定任務執行的時間。 #    calendar.set(Calendar.MINUTE,1);
    calendar.set(Calendar.SECOND,0);
    日期時間= calendar.getTime();
#卷time);

Stopping Timer Threads
 預設情況下,只要程式的計時器執行緒正在運行,程式就會一直運行。有四種方法可以終止計時器執行緒
1) 在計時器上呼叫取消。如下圖所示: new計時器(真)。如果程式中只剩下守護線程,則程式退出。計時器執行緒將會終止。
##重複執行一個任務
有四種Timer方法可以重複執行一個任務
  *schedule(TimerTask任務,長延遲,長週期)
    安排指定的任務進行重複的固定延遲執行,在指定的延遲後開始。後續執行以指定時間間隔的大致規則間隔進行。 3*1000,1*1000)
    RemindTask任務將會在3秒後執行,以後將以1秒的間隔重複執行

  * Schedule(TimerTask task, Date time, long period)
    執行重複的任務,第一次在特定的時間執行,往後以特定的時間間隔執行

  * ScheduleAtFixedRate(TimerTask 任務,長延遲,長週期)
    Schedules用於重複固定速率執行的指定任務,在指定延遲後開始。隨後的執行大約以固定的間隔進行,並按指定的時間間隔進行。 # temer.scheduleAtFixedRate(new RemindTask(),3*1000,1*1000)
  * ScheduleAtFixedRate(TimerTask task, Date firstTime, long period)
  往後面的以特定的時間間隔執行

schedule和scheduleAtFixedRate的區別在於,schedule以固定的相對時間間隔執行,如果某一次執行被延遲了,往後的執行時間也相對延時;而scheduleAtFixedRate絕對的時間間隔執行,如果某一次執行被延遲,那麼它的後一次執行的延遲將會持續。

以上是JDK Timer定時器的用法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn