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
戻る