モジュール java.base
パッケージ java.util

クラスTimerTask

  • すべての実装されたインタフェース:
    Runnable

    public abstract class TimerTask
    extends Object
    implements Runnable
    Timerで1回または繰り返し実行するようにスケジュールできるタスク。

    タイマー・タスクは再利用できません。 タスクがTimerでの実行のためにスケジュールされるか、または取消されると、実行のためにそれをスケジューリングするその後の試みはIllegalStateExceptionを投げます。

    導入されたバージョン:
    1.3
    • コンストラクタの詳細

      • TimerTask

        protected TimerTask()
        新しいタイマー・タスクが作成されます。
    • メソッドの詳細

      • run

        public abstract void run()
        このタイマー・タスクによって実行されるアクションです。
        定義:
        run、インタフェースRunnable
        関連項目:
        Thread.run()
      • cancel

        public boolean cancel()
        このタイマー・タスクを取り消します。 タスクが1回実行されるようにスケジュールされたがまだ実行されていないか、またはスケジュールされていない場合、タスクは実行されません。 タスクが繰返し実行されるようにスケジュールされていた場合、タスクが再び実行されることはありません。 (この呼出し発生時にタスクが実行中であった場合、そのタスクは最後まで実行されますが、タスクが再び実行されることはない。)

        繰返しタイマー・タスクのrunメソッドからこのメソッドを呼び出すと、タイマー・タスクは二度と実行されなくなります。

        このメソッドは、繰返し呼び出されます。2回目以降の呼出しには、効果はありません。

        戻り値:
        このタスクが1回実行されるようにスケジュールされたがまだ実行されていないか、またはこのタスクが繰返し実行されるようにスケジュールされている場合はtrue。 タスクが1回実行されるようにスケジュールされてすでに実行されているか、またはタスクがスケジュールされてないか、あるいはタスクがすでに取り消されている場合はfalseを返す。 (大まかに言えば、このメソッドがtrueを返すのは、1つ以上のスケジュールされた実行の実施を防いだ場合である。)
      • scheduledExecutionTime

        public long scheduledExecutionTime()
        このタスクの最新の実際の実行のスケジュールされた実行時間を返します。 (このメソッドがタスクの実行中に呼び出された場合、戻り値は進行中のタスク実行のスケジュールされた実行時間になります。)

        このメソッドは通常、タスクの実行メソッドから呼び出され、現在のタスクが、スケジュールどおりに作業が実行されているかを判断します。

        
           public void run() {
               if (System.currentTimeMillis() - scheduledExecutionTime() >=
                   MAX_TARDINESS)
                       return;  // Too late; skip this execution.
               // Perform the task
           }
         
        このメソッドは通常、固定遅延実行の繰返しタスクとともに使用されることはありません。「固定遅延実行」の繰返しタスクでは、スケジュールされた実行時間はずらすことが可能であり、それほど重要ではないからです。

        戻り値:
        このタスクの実行が最近スケジュールされた時間。Date.getTime()で返される形式。 タスクがまだ実行されていない場合、戻り値は未定義
        関連項目:
        Date.getTime()