Timer:jdk中提供的一个定时器工具,使用的时候会在主线程之外起一个单独的线程执行指定的计划任务
TimerTask:实现了Runnable接口的抽象类,代表一个可以被Timer执行的任务。
设置定时器执行任务:
Timer timer=new Timer();
TimerTask timerTask=new TimerTask() {
@Override
public void run() {
System.out.println(System.currentTimeMillis());
}
};
timer.schedule(timerTask, ......);
schedule有四种重载
- task:被Timer执行的任务
- time|firstTime:首次执行的时间
- delay:从当前系统时间开始算起首次执行延时的时间,单位为毫秒,必须大于等于0
从当前系统时间开始算起:
必须大于等于0:
- period:循环间隔时间,单位为毫秒,必须大于0
必须大于0:
使用Scheduled注解:
eg:@Scheduled(fixedRate = 5000)
参数之间的区别:
fixedRate:延时为从上次的结束时间到下次任务的开始时间
fixedDelay:延时为从上次的开始时间到下次任务的开始时间
cron:延时为从上次的开始时间到下次任务的开始时间,如执行时间超过延时则跳过下次执行,直到本次完成
更多推荐
Timer定时器 schedule方法
发布评论