timer是一種定時器工具,用來在乙個後台執行緒計畫執行指定任務。它可以計畫執行乙個任務一次或反覆多次。
timertask乙個抽象類,它的子類代表乙個可以被timer計畫的任務。具體的任務在timertask中run介面中實現。
通過timer中的schedule方法啟動定時任務。
一、執行定時器
啟動乙個定時器實質是啟動乙個執行緒
1、在指定日期執行定時器任務,只執行一次
publicstatic
void main(string args) throws
parseexception
}, date);
//在指定的日期執行一次定時任務
/*如果date日期在今天之前,則啟動定時器後,立即執行一次定時任務run方法
*//*
如果date日期在今天之後,則啟動定時器後,會在指定的將來日期執行一次任務run方法
*/}
2、在距當前時刻的一段時間後執行定時器任務,只執行一次
publicstatic
void
main(string args)
}, 5000); //
指定啟動定時器5s之後執行定時器任務run方法,並且只執行一次
}
3、在指定的時間後,每隔指定的時間,重複執行定時器任務
1public
static
void main(string args) throws
parseexception
13 }, date, 2000);
14/*
如果指定的date時間是當天或者今天之前,啟動定時器後會立即每隔2s執行一次定時器任務
*/15
/*如果指定的date時間是未來的某天,啟動定時器後會在未來的那天開始,每隔2s執行一次定時器任務
*/16 }
4、在距當前時刻的一段指定距離後,每隔指定時間執行一次定時器任務
publicstatic
void
main(string args)
}, 5000, 2000);
/*當啟動定時器後,5s之後開始每隔2s執行一次定時器任務
*/}
二、停止定時器
停止定時器實質是終止timer的執行緒。預設情況下,建立的timer執行緒會一直執行,如果要停止的話主要有以下四種方法終止timer執行緒:
呼叫timer的cancel方法;
把timer執行緒設定成daemon守護執行緒,當所有的使用者執行緒結束後,那麼守護執行緒也會被終止;
當所有的任務執行結束後,刪除對應timer物件的引用,執行緒也會被終止;
呼叫system.exit方法終止程式
舉例用cancel方法終止timer執行緒
publicstatic
void main(string args) throws
interruptedexception
}, 5000, 2000);
/*如果主線程不休眠一段時間,就執行了cancel方法,那麼定時器還沒來得及執行就會被關閉
*/thread.sleep(6000);
timer.cancel();
}
三、啟動任務schedule 與 scheduleatfixedrate的區別
1、schedule
publicstatic
void main(string args) throws
parseexception
}, date, 10 * 1000);
}
2、scheduleatfixedrate
1public
static
void main(string args) throws
parseexception
12 }, date, 10 * 1000);
13 }
Timer和TimerTask的使用
timer可以定時執行timertask任務,使用起來也十分的方便。以下的 是輸出當前時間的timertask 輸出當前時間的任務 private static timertask task new timertask 以下 是使用timer執行timertask timer定時執行timertas...
Timer和TimerTask定時器使用
timer是一種定時器工具,用來在乙個後台執行緒計畫執行指定任務。它可以計畫執行乙個任務一次或反覆多次。timertask乙個抽象類,它的子類代表乙個可以被timer計畫的任務。具體的任務在timertask中run介面中實現。通過timer中的schedule方法啟動定時任務。啟動乙個定時器實質是...
spring中整合TimerTask執行定時任務
spring整合了定時器,timertask。由scheduledtimertask和time ctorybean類組成的。scheduledtimertask類是對timertask的包裝器實現,我們自定義觸發器。time ctorybean,使spring配置建立觸發器。org.springfr...