首頁  >  文章  >  Java  >  java定時器實例

java定時器實例

高洛峰
高洛峰原創
2016-12-16 13:25:121137瀏覽

    定時器類別Timer在java.util套件中。使用時,先實例化,然後使用實例的schedule(TimerTask task, long delay)方法,設定指定的任務task在指定的延遲delay後執行。定時器任務類別TimerTask是抽象類,繼承並重寫其run()方法,可實現具體任務。

schedule(TimerTask task, Date time)設定指定任務task在指定時間time執行。

cancel()方法結束這個定時器。

schedule(TimerTask task, long delay, long period)方法設定指定任務task在指定延遲delay後進行固定延遲peroid的執行。

scheduleAtFixedRate(TimerTask task, long delay, long period)方法設定指定任務task在指定延遲delay後進行固定頻率peroid的執行。

要實作一個定時任務,運用java中的Timer和TimerTask類別可以非常容易實作即時呼叫處理函數。這兩個類別使用起來非常方便,可以完成我們對定時器的絕大多數需求。

看個簡單的例子:
public class TimerTest
{
    private static final int C_SCHEDULE_HOUR = 0;      void main(String[] args)
    {
        Timer timer = new Timer( );
        System.out.println("定時器已啟動");
        // 在1秒後執行此任務,每次間隔2秒,如果傳遞一個Data任務.
        timer.schedule(new MyTask(), 1000, 2000);
        System.out.println("已新增任務調度表");       {// 這個是用來停止此任務的,否則就一直循環執行此任務了
            try
                          if (ch - 'c' ==        if (ch - 'c' ==  使用此方法退出任務
                    timer. cancel();
                }
                    {
                e.printStackTrace();
     
   
    public static class MyTask extends TimerTask
    {
        {
            Calendar cal = Calendar.getInstance();
         地了目前是否正在執行的狀態標誌isRunning
            if (!isRunning)
           DULE_HOUR表示(晚上12點,亦即0點)
                // if (C_SCHEDULE_HOUR == cal.get(Calendar.HOUR_OF_DAY))
                // {
               .out.println("開始執行指定任務");
                // TODO 新增自訂的詳細任務,下列各範例          // 刪除E:tomcat6018webappswldbyaowenhtml20101227下的檔案
// 宣告變數
                File[] fls = null;
String cityDirectPath = "E:/apache-tomcat-6.0.33/webapps/search/download";
                 嘗試
               {
                )
                    {
                       //文件夾*是否存在
                       fls = citydirect.listFiles();
                        if (fls != null)
                        {
                          for (文件fl : fls)
                           {
                                fl.delete();
                            }
}
                    }
            
               {
                  println("刪除失敗
");
                }
                System.out.println("指定任務執行結束");
// }
            }🎠   
               System.out.println("上一次任務執行結束");
            }
            
   


更多java實例實例相關文章請關注PHP中文網!


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn