java.util.Timerおよびjava.util.TimerTaskの使用例

戻る

::::::::::::::
MyTimerTask.java
::::::::::::::
import java.io.*;
import java.util.*;

/**
* $Id: Timer.html,v 1.1 2009/06/22 16:12:01 kishi Exp kishi $
* @author KISHI Yasuhiro
* java.util.Timer, java.util.TimerTaskを使ったサンプルプログラム
*/

public class MyTimerTask extends TimerTask {
    private String name = null;
    private int count = 0;
    private long startTime;

    public MyTimerTask( String name ) {
        this.name = name;
        startTime = System.currentTimeMillis();
        System.out.println( "START..." );
    }

    public void run() {
        //
        // ここに実際に起動したい処理ブロックを埋め込む
        //

        System.out.printf( "タスク名=%s %3d: %6d msec\n" , name, ++count , System.currentTimeMillis() - startTime );

    }

}
::::::::::::::
TimerTest.java
::::::::::::::
import java.io.*;
import java.util.*;

/**
* $Id: Timer.html,v 1.1 2009/06/22 16:12:01 kishi Exp kishi $
* @author KISHI Yasuhiro
* java.util.Timer, java.util.TimerTaskを使ったサンプルプログラム
*/

public class TimerTest {

    public static void main( String[] args ) {
        Timer timer = new Timer();

        MyTimerTask task = new MyTimerTask( "タスク1" );
        timer.schedule( task, 0, 10 ); // 開始時間のオフセットはゼロ(即刻開始)、タスクの実行間隔は10msec

        // この処理がフロントエンドで実行されている
        try {
            Thread.sleep( 1000 );
        } catch ( Exception e ) {
            e.printStackTrace();
        }

        timer.cancel();
    }
}

■実行結果
$ java -cp . TimerTest

START...
タスク名=タスク1   1:      0 msec
タスク名=タスク1   2:     63 msec
タスク名=タスク1   3:     78 msec
タスク名=タスク1   4:     94 msec
タスク名=タスク1   5:    110 msec
タスク名=タスク1   6:    125 msec
タスク名=タスク1   7:    141 msec
タスク名=タスク1   8:    157 msec
タスク名=タスク1   9:    172 msec
タスク名=タスク1  10:    188 msec
タスク名=タスク1  11:    203 msec
タスク名=タスク1  12:    219 msec
タスク名=タスク1  13:    235 msec
タスク名=タスク1  14:    250 msec
タスク名=タスク1  15:    266 msec
タスク名=タスク1  16:    282 msec
タスク名=タスク1  17:    297 msec
タスク名=タスク1  18:    313 msec
タスク名=タスク1  19:    328 msec
タスク名=タスク1  20:    344 msec
タスク名=タスク1  21:    360 msec
タスク名=タスク1  22:    375 msec
タスク名=タスク1  23:    391 msec
タスク名=タスク1  24:    407 msec
タスク名=タスク1  25:    422 msec
タスク名=タスク1  26:    438 msec
タスク名=タスク1  27:    453 msec
タスク名=タスク1  28:    469 msec
タスク名=タスク1  29:    485 msec
タスク名=タスク1  30:    500 msec
タスク名=タスク1  31:    516 msec
タスク名=タスク1  32:    532 msec
タスク名=タスク1  33:    547 msec
タスク名=タスク1  34:    563 msec
タスク名=タスク1  35:    578 msec
タスク名=タスク1  36:    594 msec
タスク名=タスク1  37:    610 msec
タスク名=タスク1  38:    625 msec
タスク名=タスク1  39:    641 msec
タスク名=タスク1  40:    657 msec
タスク名=タスク1  41:    672 msec
タスク名=タスク1  42:    688 msec
タスク名=タスク1  43:    703 msec
タスク名=タスク1  44:    719 msec
タスク名=タスク1  45:    735 msec
タスク名=タスク1  46:    750 msec
タスク名=タスク1  47:    766 msec
タスク名=タスク1  48:    782 msec
タスク名=タスク1  49:    797 msec
タスク名=タスク1  50:    813 msec
タスク名=タスク1  51:    828 msec
タスク名=タスク1  52:    844 msec
タスク名=タスク1  53:    860 msec
タスク名=タスク1  54:    875 msec
タスク名=タスク1  55:    891 msec
タスク名=タスク1  56:    907 msec
タスク名=タスク1  57:    922 msec
タスク名=タスク1  58:    938 msec
タスク名=タスク1  59:    953 msec
タスク名=タスク1  60:    969 msec
タスク名=タスク1  61:    985 msec
タスク名=タスク1  62:   1000 msec



戻る inserted by FC2 system