<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    定時執(zhí)行程序

    關(guān)于定時任務(wù),似乎跟時間操作的聯(lián)系并不是很大,但是前面既然提到了定時任務(wù),索性在這里一起解決了。
      設(shè)置定時任務(wù)很簡單,用Timer類就搞定了。
      一、延時執(zhí)行
      首先,我們定義一個類,給它取個名字叫TimeTask,我們的定時任務(wù),就在這個類的main函數(shù)里執(zhí)行。代碼如下:
      package test;
      import java.util.Timer;
      public class TimeTask {
      public static void main(String[] args){
      Timer timer = new Timer();
      timer.schedule(new Task(), 60 * 1000);
      }
      }
      解釋一下上面的代碼。
      上面的代碼實現(xiàn)了這樣一個功能,當(dāng)TimeTask程序啟動以后,過一分鐘后執(zhí)行某項任務(wù)。很簡單吧:先new一個Timer對象,然后調(diào)用它的schedule方法,這個方法有四個重載的方法,這里我們用其中一個,
      public void schedule(TimerTask task,long delay)
      首先,第一個參數(shù)
      第一個參數(shù)就是我們要執(zhí)行的任務(wù)。
      這是一個TimerTask對象,確切點說是一個實現(xiàn)TimerTask的類的對象,因為TimerTask是個抽象類。上面的代碼里面,Task就是我們自己定義的實現(xiàn)了TimerTask的類,因為是在同一個包里面,所以沒有顯性的import進(jìn)來。Task類的代碼如下
      package test;
      import java.util.TimerTask;
      public class Task extends TimerTask {
      public void run(){
      System.out.println("定時任務(wù)執(zhí)行");
      }
      }
      我們的Task必須實現(xiàn)TimerTask的方法run,要執(zhí)行的任務(wù)就在這個run方法里面,這里,我們只讓它往控制臺打一行字。
      第二個參數(shù)
      第二個參數(shù)是一個long型的值。這是延遲的時間,就是從程序開始以后,再過多少時間來執(zhí)行定時任務(wù)。這個long型的值是毫秒數(shù),所以前面我們的程序里面,過一分鐘后執(zhí)行用的參數(shù)值就是 60 * 1000。
      二、循環(huán)執(zhí)行
      設(shè)置定時任務(wù)的時候,往往我們需要重復(fù)的執(zhí)行這樣任務(wù),每隔一段時間執(zhí)行一次,而上面的方法是只執(zhí)行一次的,這樣就用到了schedule方法的是另一個重載函數(shù)
      public void schedule(TimerTask task,long delay,long period)
      前兩個參數(shù)就不用說什么了,最后一個參數(shù)就是間隔的時間,又是個long型的毫秒數(shù)(看來java里涉及到時間的,跟這個long是脫不了干系了),比如我們希望上面的任務(wù)從第一次執(zhí)行后,每個一分鐘執(zhí)行一次,第三個參數(shù)值賦60 * 1000就ok了。
      三、指定執(zhí)行時間
      既然號稱是定時任務(wù),我們肯定希望由我們來指定任務(wù)指定的時間,顯然上面的方法就不中用了,因為我們不知道程序什么時間開始運(yùn)行,就沒辦法確定需要延時多少。沒關(guān)系,schedule四個重載的方法還沒用完呢。用下面這個就OK了:
      public void schedule(TimerTask task,Date time)
      比如,我們希望定時任務(wù)2006年7月2日0時0分執(zhí)行,只要給第二個參數(shù)傳一個時間設(shè)置為2006年7月2日0時0分的Date對象就可以了。
      有一種情況是,可能我們的程序啟動的時候,已經(jīng)是2006年7月3日了,這樣的話,程序一啟動,定時任務(wù)就開始執(zhí)行了。
      schedule最后一個重載的方法是
      public void schedule(TimerTask task,Date firstTime,long period)

    posted on 2007-06-27 11:59 付軒 閱讀(3264) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    <2007年6月>
    272829303112
    3456789
    10111213141516
    17181920212223
    24252627282930
    1234567

    導(dǎo)航

    統(tǒng)計

    常用鏈接

    留言簿(2)

    隨筆檔案

    相冊

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲av无码片vr一区二区三区| 亚洲视频在线观看| 亚洲高清乱码午夜电影网| 精品国产污污免费网站aⅴ| 亚洲成a人片77777老司机| 成全动漫视频在线观看免费高清版下载| 亚洲精品无码专区久久同性男| 国产亚洲情侣久久精品| 免费人成年轻人电影| 四虎国产精品永免费| 亚洲性在线看高清h片| 福利免费在线观看| 香蕉蕉亚亚洲aav综合| 国产92成人精品视频免费| 亚洲人成人77777在线播放| 在线观看人成视频免费| 美女无遮挡免费视频网站| 亚洲国产成人精品久久久国产成人一区二区三区综 | 亚洲精品国产美女久久久| 最近中文字幕免费大全| 亚洲日本在线观看| 一二三四影视在线看片免费| 亚洲精品永久在线观看| 四虎永久在线精品视频免费观看| 日日摸夜夜添夜夜免费视频| 亚洲成AV人片在线观看| 免费成人激情视频| 麻豆亚洲AV成人无码久久精品| 亚洲AV无码一区二区二三区软件| 国产又黄又爽又大的免费视频 | 亚洲国产一区二区三区青草影视| 51精品视频免费国产专区| 亚洲国产成a人v在线观看| 亚洲AⅤ永久无码精品AA| 免费黄网站在线观看| 国产成人亚洲合集青青草原精品 | 99久久国产热无码精品免费| 亚洲国产成人AV网站| 亚洲av中文无码乱人伦在线r▽| 一本岛高清v不卡免费一三区| 久久亚洲精品无码网站|