1.概述
定時執行特定的任務。 2.類與方法 2.1Timer
java.util.Timer
一個Timer對應一個線程。一個Timer可以調度多個任務。若一個任務有異常,可能這個Timer線程就不能正常工作 了,其他的任務也受牽連。一般用它調度輕量級的任務。
java.util.Timer#schedule(java.util.TimerTask task, java.util.Date when)
在特定時間執行一次task。
java.util.Timer#scheduleAtFixedRate(TimerTask task, Date when, long period)
從特定時間開始,每隔period執行一次task。
2.2 TimerTask
java.util.TimerTask
抽象類別,它實現了 Runnable介面。
java.util.TimerTask#cancel()
取消該定時任務。
注意:用過的TimerTask就像穿破的襪子,沒辦法再被Timer調度了。已經被schedule過或cancel過的timerTask都屬於用過的TimerTask。
3.範例程式碼
通用的步驟見下。
1.建立一個繼承自TimerTask類的類A,並重寫run()方法。
2.建立Timer對象,調用schedule()方法並把自訂類A的對象當作實參傳進去。
import java.util.Timer;class TimerTaskTest extends TimerTask {@Overridepublic void run() {System.out.println("3秒一次說聲Hi");}}public class TimerDemo {public static void main(String[] args) {Timer timer = new Timer();//void java.util.Timer.schedule(TimerTask task, long delay, long period)//delay時間後每隔period時間間隔就執行一次task.run()函數 時間單位為millisecondtimer.schedule(new TimerTaskTest(), 0, 3000);}}/* * 3秒一次說聲Hi * 3秒一次說聲Hi * 3秒一次說聲Hi * 3秒一次說聲Hi * ... */