Timer是一種定時器工具,用來在一個后台線程計划執行指定任務。它可以計划執行一個任務一次或反復多次。
TimerTask一個抽象類,它的子類代表一個可以被Timer計划的任務。
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 Timer createJobber(TimerTask o, String cronExpress) throws Exception {
Timer timer = new Timer();
timer.schedule(o, 0, Integer.parseInt(cronExpress));
return timer;
}