Timer和TimerTask定時調度

本文來源於:http://zengzhaoshuai.iteye.com/blog/1121105

Timer類是一種線程設施,可以用來實現某一個時間或某一段時間後安排某一個任務執行一次或定期重複執行。該功能和TimerTask配合使用。TimerTask類用於實現由Timer安排的一次或重複執行的某個任務。每一個Timer對象對應的是一個線程,因此計時器所執行的任務應該迅速完成,否則會延遲後續的任務執行。 

  Timer類方法摘要 
Java代碼  收藏代碼
  1. void cancel()   
  2.           終止此計時器,丟棄所有當前已安排的任務。   
  3.  int purge()   
  4.           從此計時器的任務隊列中移除所有已取消的任務。   
  5.  void schedule(TimerTask task, Date time)   
  6.           安排在指定的時間執行指定的任務。   
  7.  void schedule(TimerTask task, Date firstTime, long period)   
  8.           安排指定的任務在指定的時間開始進行重複的固定延遲執行。   
  9.  void schedule(TimerTask task, long delay)   
  10.           安排在指定延遲後執行指定的任務。   
  11.  void schedule(TimerTask task, long delay, long period)   
  12.           安排指定的任務從指定的延遲後開始進行重複的固定延遲執行。   
  13.  void scheduleAtFixedRate(TimerTask task, Date firstTime, long period)   
  14.           安排指定的任務在指定的時間開始進行重複的固定速率執行。   
  15.  void scheduleAtFixedRate(TimerTask task, long delay, long period)   
  16.           安排指定的任務在指定的延遲後開始進行重複的固定速率執行。   


TimerTask類方法摘要 
Java代碼  收藏代碼
  1. boolean cancel()   
  2.           取消此計時器任務。   
  3. abstract  void run()   
  4.           此計時器任務要執行的操作。   
  5.  long scheduledExecutionTime()   
  6.           返回此任務最近實際 執行的已安排 執行時間。   


TimerTask類是個抽象類,如果要用該類,需要自己建立一個類來繼承此類,並實現其中的抽象方法。 
Java代碼  收藏代碼
  1. package zzs.time.demo;  
  2.   
  3. import java.text.SimpleDateFormat;  
  4. import java.util.Date;  
  5. import java.util.TimerTask;  
  6.   
  7. public class MyTask extends TimerTask {  
  8.   
  9.     @Override  
  10.     public void run() {  
  11.         // TODO Auto-generated method stub  
  12.         SimpleDateFormat simpleDateFormat=null;  
  13.         simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS");  
  14.         System.out.println("當前的系統時間爲:"+simpleDateFormat.format(new Date()));  
  15.   
  16.     }  
  17.   
  18. }  


Java代碼  收藏代碼
  1. package zzs.time.demo;  
  2.   
  3. import java.util.Timer;  
  4.   
  5. public class TestTask {  
  6.   
  7.     /** 
  8.      * @param args 
  9.      * @throws InterruptedException  
  10.      */  
  11.     public static void main(String[] args) throws InterruptedException {  
  12.         // TODO Auto-generated method stub  
  13.         Timer  timer=new Timer();  
  14.         MyTask myTask=new MyTask();  
  15.         timer.schedule(myTask, 10002000);  
  16.                // Thread.sleep(5000);  
  17.         //timer.cancel();  
  18.   
  19.     }  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章