Java Timer 類



介紹

Java Timer 類為執行緒提供了一種在後臺執行緒中排程任務以供將來執行的機制。

  • 此類是執行緒安全的,即多個執行緒可以共享單個 Timer 物件,而無需外部同步。

  • 此類排程任務進行一次性執行或定期重複執行。

  • 所有建構函式都會啟動一個計時器執行緒。

類宣告

以下是java.util.Timer類的宣告:

public class Timer
   extends Object

類建構函式

序號 建構函式和描述
1

Timer()

此建構函式建立一個新的計時器。

2

Timer(boolean isDaemon)

此建構函式建立一個新的計時器,其關聯執行緒可以指定為守護程序執行。

3

Timer(String name)

此建構函式建立一個新的計時器,其關聯執行緒具有指定名稱。

4

Timer(String name, boolean isDaemon)

此建構函式建立一個新的計時器,其關聯執行緒具有指定的名稱,並且可以指定為守護程序執行。

類方法

序號 方法和描述
1 void cancel()

此方法終止此計時器,並丟棄任何當前已排程的任務。

2 int purge()

此方法從此計時器的任務佇列中刪除所有已取消的任務。

3 void schedule(TimerTask task, Date time)

此方法安排在指定時間執行指定的任務。

4 void scheduleAtFixedRate(TimerTask task, Date firstTime, long period)

此方法安排指定的任務以固定的速率重複執行,從指定時間開始。

繼承的方法

此類繼承自以下類的方法:

  • java.util.Object

使用 Timer 示例執行任務的排程

以下示例顯示了 Java Timer schedule(TimerTask, Date) 方法的使用方法,用於排程計時器操作。我們使用 CustomTimerTask 物件建立了一個計時器物件。CustomTimerTask 是擴充套件 TimerTask 類並實現將在計劃時間執行的 run() 方法的自定義類。然後,我們建立了一個計時器物件,並使用 schedule() 方法安排了一個任務以立即執行。

package com.tutorialspoint;

import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;

public class TimerDemo {
   public static void main(String[] args) {

      // creating timer task, timer
      TimerTask tasknew = new CustomTimerTask();
      Timer timer = new Timer("test",true);

      // scheduling the task
      timer.schedule(tasknew, new Date()); 

      try {
         Thread.sleep(1000);
      } catch (InterruptedException e) {
         System.out.println("Error");
      }
   }
}

class CustomTimerTask extends TimerTask {

   @Override
   public void run() {
      System.out.println("working on");
   }  
}

輸出

讓我們編譯並執行上述程式,這將產生以下結果。

working on
廣告