標籤:
Timer介紹:
(1)基本方法:
public Timer():建立一個新計時器。相關的線程不 作為精靈運行。
public void schedule(TimerTask task, long delay, long period)
安排指定的任務從指定的延遲後開始進行重複的固定順延強制。以近似固定的時間間隔(由指定的周期分隔)進行後續執行。
public void schedule(TimerTask task, Date time)
安排在指定的時間執行指定的任務。如果此時間已過去,則安排立即執行該任務。
參數:
task
- 所要安排的任務。
time
- 執行任務的時間。
public void cancel()
終止此計時器,丟棄所有當前已安排的任務。這不會干擾當前正在執行的任務(如果存在)。一旦終止了計時器,那麼它的執行線程也會終止,並且無法根據它安排更多的任務。
TimerTask介紹:
public abstract void run()
此計時器任務要執行的操作。
public boolean cancel()
取消此計時器任務。如果任務安排為一次執行且還未運行,或者尚未安排,則永遠不會運行。如果任務安排為重複執行,則永遠不會再運行。(如果發生此調用時任務正在運行,則任務將運行完,但永遠不會再運行。)
定時器如何?多線程:
將Timer對象和TimerTask對象綁定利用Timer對象中的schedule方法觸發TimerTask類中run()方法實現多線程。
執行個體:
package test1;import java.util.Date;import java.util.IllegalFormatCodePointException;import java.util.Timer;import java.util.TimerTask;class Task extends TimerTask{ private int a=1; private int sum=0; public void run() { sum+=a; a++; System.out.println("HELLO"); if(a>3) { System.out.println(sum); this.cancel();//這裡的cancel()方法是TimerTask對象在調用,其中Timer和Timer類都含有cancel()方法 } }}public class TimerTask1 { public static void main(String[] args) { Timer time=new Timer(); Task t=new Task(); time.schedule(t, new Date(), 1); }}
Java中基本知識梳理【定時器實現多線程】-----2015年3月15日