1. 程式人生 > >Timer定時器 schedule方法

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:延時為從上次的開始時間到下次任務的開始時間,如執行時間超過延時則跳過下次執行,直到本次完成