在現實企業開發中很多時候都會用到定時器,比如在電商項目每天定時更新商品的信息,秒殺減庫存等總之,企業開發中或多或少都會用到定時器。
今天就和大家聊聊定時器的參數及應用。舉個例子
package comz.autoupdatefile;
import java.util.Timer;
import java.util.TimerTask;
public class M {
public static void main(String[] args) {
Timer timer = new Timer();
timer.schedule(new MyTask(), 1000, 2000);
}
}
class MyTask extends TimerTask {
@Override
public void run() {
System.out.println("定時任務執行");
}
}
參數解釋:
timer.schedule(new MyTask(), 1000, 2000);
第一個參數"new MyTask(event.getServletContext())":
是 TimerTask 類,在包:import java.util.TimerTask .使用者要繼承該類,並實現 public void run() 方法,因爲 TimerTask 類實現了 Runnable 接口。
第二個參數"1000"的意思是:(0就表示無延遲,1000是毫秒代表延遲時間)
當你調用該方法後,該方法必然會調用 TimerTask 類 TimerTask 類 中的 run() 方法,這個參數就是這兩者之間時間的差值,也就是說,用戶調用 schedule() 方法後,要等待這麼長的時間纔可以第一次執行 run() 方法。
第三個參數"60*60*1000"的意思就是: 單位:毫秒 表示多長時間執行一次
這樣就是可以實現一個簡單的定時任務,具體的定時執行的業務代碼就需要根據情況而定了。下期給大家聊聊在Ruby on rails 中如何使用定時器