Java Mania

Java Mania

TimerTask

Timerによって実行されるタスク用の親クラス。 タスクを作成する場合はこのクラスを継承する。
※Timerクラスに関してはここを参照。
HomePageTop▲

How To Use -使用方法-

TimerTaskクラスは下記のように使用する。

コンストラクタの説明

※TimerTaskクラスのコンストラクタはprotectedである。 そのため今回はコンストラクタの説明を省略する。

メソッドの説明
※全てのメソッドを網羅していないので、詳細はAPIリファレンスを参照する。
public boolean cancel()
タイマータスクを取り消す。
public abstract void run()
このメソッドをオーバーライドしてタスクを実装する。
public long scheduledExecutionTime()
このタスクが最近実際に実行するようにスケジュールされた実行時間を返す。
HomePageTop▲

Source -TimerTaskTest.java-

package mania.test;

import java.util.TimerTask;

public class TimerTaskTest extends TimerTask
{
  // TimerTaskの使用方法
  public void run()
  {
    System.out.println(System.currentTimeMillis() + ":タスクの実行");
  }
}

Source -TimerTest.java-

package mania.test;

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

public class TimerTest
{
  // Timerの使用方法
  public static void main(String[] args)
  {
    System.out.println("===実行結果===");
    Timer timer = new Timer(true);
    TimerTask task = new TimerTaskTest();
    // 1秒後から2秒間隔でタスクを実行
    timer.schedule(task, 1000, 2000);

    // タスクをスケジュールされた時間
    System.out.println(task.scheduledExecutionTime() + "スケジュールされた時間");

    // 8秒間SLEEP
    try
    {
      Thread.sleep(8000);
    }
    catch(InterruptedException e)
    {
      e.printStackTrace();
    }

    // タスクを終了する
    task.cancel();

    // タスクをスケジュールされた時間
    System.out.println(task.scheduledExecutionTime() + "スケジュールされた時間");
  }
}
HomePageTop▲

Results -実行結果-


===実行結果===
1141005674963スケジュールされた時間
1141005676963:タスクの実行
1141005678963:タスクの実行
1141005680963:タスクの実行
1141005682963:タスクの実行
1141005682963スケジュールされた時間

HomePageTop▲

Copyright (C) 2006, JavaMania. All Rights Reserved.