timer.schedule(new MyTask(), 0, 60*60*1000);
第一個參數"new MyTask()":
是 TimerTask 類,在包:import java.util.TimerTask .使用者要繼承該類,並實現 public void run() 方法,因爲 TimerTask 類實現了 Runnable 接口。
如:
public class MyTask extends TimerTask {
public void run() {
System.out.println("任務時間:" + new Date());
}
}
第二個參數"0"的意思是:(0就表示無延遲)
當你調用該方法後,該方法必然會調用 TimerTask 類 TimerTask 類 中的 run() 方法,這個參數就是這兩者之間的差值,轉換成漢語的意思就是說,用戶調用 schedule() 方法後,要等待這麼長的時間纔可以第一次執行 run() 方法。
第三個參數"60*60*1000"的意思就是:
(單位是毫秒60*60*1000爲一小時)
(單位是毫秒3*60*1000爲三分鐘)
第一次調用之後,從第二次開始每隔多長的時間調用一次 run() 方法
例子:
public class SynServlet extends HttpServlet {
@Override
public void init() throws ServletException {
try {
Timer timer = new Timer(true);
timer.schedule(new java.util.TimerTask() {
public void run() {
ContributeSynUtil.ContributeSyn();
}
}, 0, 3* 60 * 1000);
} catch (Exception e) {
log.error("同步數據失敗", e);
}
}
@Override
public void destroy() {
}
}