Timer定时器 schedule方法

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:延时为从上次的开始时间到下次任务的开始时间,如执行时间超过延时则跳过下次执行,直到本次完成

猜你喜欢

转载自blog.csdn.net/yinzitun7947/article/details/85723741