在现实企业开发中很多时候都会用到定时器,比如在电商项目每天定时更新商品的信息,秒杀减库存等总之,企业开发中或多或少都会用到定时器。
今天就和大家聊聊定时器的参数及应用。举个例子
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 中如何使用定时器