CodeGym /Java Blog /ランダム /Java タイマー クラス
John Squirrels
レベル 41
San Francisco

Java タイマー クラス

ランダム グループに公開済み
Javaタイマークラスは、指定した間隔でタスクを実行するようにスケジュールできる強力なツールです。タスクを 1 回実行する必要がある場合でも、繰り返し実行する必要がある場合でも、タイマークラスは Java プログラムを自動化する便利な方法を提供します。この記事では、Java Timerクラスの機能を調べ、それを効果的に実装する方法を学びます。

Java タイマー クラスの概要

Timerクラスはjava.utilパッケージの一部であり、指定された時間または定期的な間隔で実行するタスクをスケジュールするために使用されます。これは、所定の間隔でコードを実行するためのシンプルで信頼性の高い方法を提供するため、イベントのトリガー、定期的な更新の実行、バックグラウンド プロセスのスケジュールなどのタスクに最適です。Timerクラスを使用するには、 java.util.TimerクラスからTimerオブジェクトを作成する必要があります。この Timer オブジェクトは、要件に基づいてタスクをスケジュールし、実行する役割を果たします。

タイマーオブジェクトの作成

まずはTimerオブジェクトを作成し、そのメソッドを調べてみましょう。次のコード例では、Timerオブジェクトを作成し、指定された遅延後に 1 回実行されるタスクをスケジュールします。
// First we will import the java.util.Timer & java.util.TimerTask classes
import java.util.Timer;
import java.util.TimerTask;

public class TimerExample {
    public static void main(String[] args) {
        Timer timer = new Timer(); // Creating a Timer object from the timer class

        TimerTask task1 = new TimerTask() {
            public void run() {
                System.out.println("Task 1 executed!");
            }
        };

        TimerTask task2 = new TimerTask() {
            public void run() {
                System.out.println("Task 2 executed!");
            }
        };

        TimerTask task3 = new TimerTask() {
            public void run() {
                System.out.println("Task 3 executed!");
            }
        };

        // Scheduling tasks to run after specified delays
        timer.schedule(task1, 2000); // Using the schedule method of the timer class
        timer.schedule(task2, 4000); // Using the schedule method of the timer class
        timer.schedule(task3, 6000); // Using the schedule method of the timer class
    }
}
この更新された例では、Timerクラスを使用してTimerオブジェクトが作成されます。各TimerTask は、タイマーによってスケジュールおよび実行されるタスクを表します。各TimerTask内のrunメソッドには、タスクの実行時に実行されるコードが含まれています次に、タスクと遅延をミリ秒単位で指定して、Timerクラスのスケジュールメソッドを使用してタスクをスケジュールします。このコードでは、スケジュール メソッドが 3 回使用されており、毎回異なるタスクと遅延が設定されています。

出力

コードを実行すると、次のように出力されます。
タスク 1 が実行されました。タスク 2 が実行されました。タスク 3 が実行されました。
各タスクはそれぞれの遅延後に実行され、 Timerクラス の機能を示します。

タイマーメソッド

Timerクラスは、タスクの実行をスケジュールするためのさまざまなメソッドを提供します。一般的に使用されるいくつかの方法を見てみましょう。

1.スケジュール(TimerTaskタスク、長い遅延)

このメソッドは、指定された遅延の後に指定されたタスクを実行するようにスケジュールします。遅延はミリ秒単位で指定します。例えば:
timer.schedule(task, 5000); // Schedule the task to run after a 5-second delay

2.スケジュール(TimerTaskタスク、日時)

このメソッドは、指定された時刻に指定されたタスクを実行するようにスケジュールします。タスクは 1 回だけ実行されます。例えば:
Date executionTime = new Date(System.currentTimeMillis() + 5000); // Get the current time + 5 seconds
timer.schedule(task, executionTime); // Schedule the task to run at the specified time

3.スケジュール(TimerTaskタスク、長い遅延、長い期間)

このメソッドは、指定された遅延の後、指定された間隔で繰り返し実行されるように、指定されたタスクをスケジュールします。遅延は最初の実行までの時間 (ミリ秒)、期間は後続の実行間の時間 (ミリ秒) です。例えば:
timer.schedule(task, 2000, 5000); // Schedule the task to run after a 2-second delay and repeat every 5 seconds

Java タイマー スケジュール

基本的なスケジューリング メソッドに加えて、Timerクラスは、schedule(TimerTask task, Date firstTime, long period)と呼ばれる強力なスケジューリング メソッドも提供します。この方法を使用すると、特定の時間に定期的に開始されるタスクの繰り返し実行をスケジュールできます。このメソッドの使用法を示す例を次に示します。
import java.util.Timer;
import java.util.TimerTask;
import java.util.Date;

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

        TimerTask task = new TimerTask() {
            public void run() {
                System.out.println("Task executed!");
            }
        };

        // Schedule the task to run every 5 seconds starting from the current time
        Date startTime = new Date();
        timer.schedule(task, startTime, 5000);
    }
}
この例では、以前と同様にTimerオブジェクト を作成し、TimerTaskを定義します。また、タスクの開始時刻を指定するために、Date型のstartTimeオブジェクトも作成します。次に、スケジュールメソッドを使用して、現在の時刻から 5 秒ごとタスクが実行されるようにスケジュールします。このスケジュール方法を使用すると、 Timerオブジェクトがキャンセルされるかプログラムが終了するまで、タスクは指定された間隔で実行され続けます。それ以外の場合は、例外がスローされます。

結論

java.util.TimerパッケージのJava Timerクラスは、Java アプリケーションでタスクをスケジュールするための多用途ツールです。これにより、指定した間隔でコードの実行を自動化できるため、イベントのトリガー、定期的な更新の実行、バックグラウンド プロセスのスケジュールなど、さまざまなシナリオに役立ちます。この記事では、 Timerオブジェクトの作成、遅延または特定の時間のあるタスクのスケジュール設定、反復実行の設定など、Java Timerクラスの基本について説明しました。また、 「schedule」や、schedule(TimerTask task, Date firstTime, long period)など、 Timerクラスによって提供される重要なメソッドについても学びました。Timerクラスを効果的に使用すると、Java プログラムの自動化と効率性をさらに高めることができます。さまざまなスケジュール オプションを試し、タイマークラスの機能をさらに探索して、アプリケーションの機能を強化します。
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION