首頁 > 軟體

Java Timer與TimerTask類使程式計時執行

2022-02-08 19:00:03

Java 程式設計 Timer&TimerTask類

Timer&TimerTask類

根據設定的時間安排實現程式任務的自動執行

每一個排程任務類都需要繼承java.util.TimerTask父類別,任務的啟動需要通過java.util.Timer類完成

TimerTask類常用方法

方法作用
public void cancel()終止任務
public void run()任務需要執行的具體操作
public long scheduleExecutionTime()返回最近一次要執行該任務的時間

Timer類常用方法

方法作用
public Timer()建立一個計時器並啟動該計時器
public void cancel()用來終止該計時器,並放棄所以已安排的任務,對當前正在執行的任務沒有影響
public int purge()將所有已經取消的任務移除,用來釋放記憶體空間
public void schedule(TimerTask task,Date time)安排一個任務在指定的時間執行,如果已經超過該時間,立即執行
public void schedule(TimerTask task,Date firstTime,long period)安排一個任務在指定的時間執行,之後以固定的頻率重複執行
public void schedule(TimerTask task,long delay)安排一個任務在一段時間後執行
public void schedule(TimerTask task,long delay,long period)安排一個任務在一段時間後執行,之後以固定的頻率重複執行
public void schedule AtFixedRate(TimerTask task,Date firstTime,long period)安排一個任務在指定的時間執行,之後以近似固定的頻率重複執行
public void schedule AtFixedRate(TimerTask task,long delay,long period)安排一個任務在一段時間後執行,之後以近似固定的頻率重複執行

schedule()方法的執行時間間隔永遠是固定的,如果之前出現了延遲的情況,之後也會繼續按照設定好的間隔時間來執行。

scheduleAtFixedRate()方法可以根據出現的延遲時間自動調整下一次間隔的執行時間。

演示:

import java.util.Timer;
import java.util.TimerTask;

class Test extends TimerTask{
    @Override
    public void run() {
        System.out.println(Thread.currentThread().getName()+"時間:"+System.currentTimeMillis());
    }
}
public class Hello {
    public static void main(String[] args) {
        Timer timer = new Timer();
        timer.scheduleAtFixedRate(new Test(),100,1000);
    }
}

timer.scheduleAtFixedRate(new Test(),100,1000);

定義間隔任務,100毫秒後開始執行,每間隔1秒執行1秒

到此這篇關於Java Timer與TimerTask類使程式計時執行 的文章就介紹到這了,更多相關Java Timer 內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com