天天看點

使用Timer的schedule()方法

schedule的意思(時間表、進度表)

timer.schedule(new MyTask(event.getServletContext()), 0, 60*60*1000);

第一個參數"new MyTask(event.getServletContext())":

是 TimerTask 類,在包:import java.util.TimerTask .使用者要繼承該類,并實作 public void run() 方法,因為 TimerTask 類實作了 Runnable 接口。

第二個參數"0"的意思是:(0就表示無延遲)

當你調用該方法後,該方法必然會調用 TimerTask 類 TimerTask 類 中的 run() 方法,這個參數就是這兩者之間的內插補點,轉換成漢語的意思就是說,使用者調用 schedule() 方法後,要等待這麼長的時間才可以第一次執行 run() 方法。

第三個參數"60*60*1000"的意思就是:

(機關是毫秒60*60*1000為一小時)

(機關是毫秒3*60*1000為三分鐘)

第一次調用之後,從第二次開始每隔多長的時間調用一次 run() 方法。

舉例:

public class test {
    public static void main(String[] args) {
        java.util.Timer t = new java.util.Timer();
 
        t.schedule(new Task(),0,1000);
    }
}
 
class Task extends java.util.TimerTask {

    @Override
    public void run() {
        	System.out.println(System.nanoTime());
    }
}