2012/11/10

Java TimerTask

TimerTask是去實作Runnable的一種抽象類別

把Runnable當作是一種工作的內容,由Thread這個工人去執行Runnable裡的工作
但是工人做完工作總是要下班吧,那工地誰要顧呢?

所以公司會聘請保全定時巡邏,可以把TimerTask想成是保全的工作行程表
再由Timer取得到TimerTask的工作後,在一定的時間去巡邏




以下這是我的範例:

OX保全公司在公司開門的第一秒開始派人出去巡邏

間隔三秒則要去巡邏下一個點,直到公司關門為止


import java.util.*;

public class demo{
    private static int num = 1;
    public static void main(String [] args){
        Timer timer = new Timer();
        timer.schedule(task,1000,3000);
    }
    
    public static TimerTask task = new TimerTask(){
        public void run(){
            System.out.println("保全一號在" + new Date().toString()
            + "巡邏到第"+ (num++) + "個點");
        }
    };
}




參考文章:
http://docs.oracle.com/javase/1.4.2/docs/api/java/util/TimerTask.html
http://caterpillar.onlyfun.net/Gossip/JavaGossip-V2/TimerTaskAndTimer.htm