Timer 都是用来在异步环境下按照预定的时间间隔执行代码的一种机制。通过创建 Timer 实例,开发者能够灵活地控制程序的行为,例如定期更新数据、执行维护任务或响应持续性交互需求。
其中Java:
java.util.Timer 类可用于安排未来的任务执行,它可以调度 TimerTask 的实例并在给定的时间点或重复周期执行它们。可以取消定时器以及其所有计划的任务。
一,Timer使用方式
public class MyTask1 extends TimerTask {
@Override
public void run() {
System.out.println("我是Timer1号");
}
}
public class MyTask2 extends TimerTask {
@Override
public void run() {
System.out.println("我是Timer2号");
}
}
@SpringBootApplication
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
log.info("开始执行");
Timer timer = new Timer();
timer.schedule(new MyTask1(),3000,2000);
timer.schedule(new MyTask2(),2000,2000);
}
}
1、在特定时间执行任务,只执行一次
public void schedule(TimerTask task,Date time)
2、在特定时间之后执行任务,只执行一次
public void schedule(TimerTask task,long delay)
3、指定第一次执行的时间,然后按照间隔时间,重复执行
public void schedule(TimerTask task,Date firstTime,long period)
4、在特定延迟之后第一次执行,然后按照间隔时间,重复执行
public void schedule(TimerTask task,long delay,long period)
5、第一次执行之后,特定频率执行,与3同
public void scheduleAtFixedRate(TimerTask task,Date firstTime,long period)
6、在delay毫秒之后第一次执行,后按照特定频率执行
public void scheduleAtFixedRate(TimerTask task,long delay,long period)
参数:
delay: 延迟执行的毫秒数,即在delay毫秒之后第一次执行
period:重复执行的时间间隔