java.util.Timer(プログラムをタイミングで実行)

2780 ワード

import java.util.TimerTask;
import java.util.Timer;

public class TimerTest  {

    public static void main(String[] args) throws java.io.IOException  {
             TimerTask task = new TimerTask() {
               public void run() {
                 System.out.println("Hi");
               }
             };
        Timer timer = new Timer();
        timer.schedule(task, 0, 500);   // 、 、 
    }
}

以上のコードは半秒ごとに「Hi」を出力します.
説明:
TimerTaskクラス:実行するタスクをrunメソッドにカプセル化します.
Timerクラス:開始時間、間隔時間、遅延時間を含むタイマのパラメータを設定します.詳細はscheduleメソッドを参照してください.
注意:同じTimerTaskオブジェクトを2回Timerに追加して実行することはできません.複数のタスクを実行する場合は、複数のTimerTaskのインスタンスを宣言する必要があります.

 TimerTask task = new TimerTask() {
     public void run() {
         System.out.println("Hi");
     }
  };
  Timer timer = new Timer();
   timer.schedule(task, 0, 500);
   timer.schedule(task, 0, 1000);   //  

TimerとTimertaskクラスの動作方法を理解した後、次の実
の場合の例
Webでタスク計画を実現する-簡単に言えば目覚まし時計の機能を実現することに相当する
この機能を実現するには、2つのステップを完了します:1.タイマーの設定;2.このタイマーに
の起動と停止をリアルタイムで傍受します.
第一歩は初級編で簡単に完成したので、第二歩の仕事は自分でやる必要はありません.
ああ、この仕事を容器に押して、どのように実現したか見てみましょう.
tomcatにはリスナーがありますimplementsだけです
javax.servlet.サーブレットContextListenerインタフェースは、このインタフェースの2つを実現します.
個のメソッドcontextInitialized(サーブレットContextEvent)
event)とcontextDestroyed(サーブレットContextEvent event)、見た方
法名は何に使うか知っている.次は具体的なコードです

package test.timer.MyListener ;
import javax.servlet.ServletContextListener;
import javax.servlet.ServletContextEvent;
import java.util.TimerTask;
import java.util.Timer;
public class MyListener implements ServletContextListener{
private java.util.Timer timer = null;
public void contextInitialized(ServletContextEvent event) {
    TimerTask task = new TimerTask() {
         public void run() {
         System.out.println("Hi");
         }
     };
     timer = new Timer();
     event.getServletContext().log(" ");
     timer.schedule(task, 0, 500);  
     event.getServletContext().log(" ");
}
public void contextDestroyed(ServletContextEvent event) {
timer.cancel();
event.getServletContext().log(" ");
}
}  // Web 
 

最後にあなたのwebで.xmlには、次の文が含まれています.

<listener>
<listener-class>test.timer.MyListener</listener-class>
</listener>   

よし、やってみよう!
時間とrunの方法をよく設定して、このような簡単なコードで完全に構築することができます.
複雑なバックグラウンドでプログラムを実行します.0