ホームページ  >  記事  >  Java  >  Javaタイマーで時間を設定する方法

Javaタイマーで時間を設定する方法

小老鼠
小老鼠オリジナル
2023-12-26 16:31:371598ブラウズ

設定方法: 1. TimerTask の run メソッドを使用して、スケジュール実行するタスクを定義します; 2. Timer のスケジュール メソッドを通じて、タイマーの開始時刻、間隔などを設定できます; 3.プログラムの開始時にタスクが開始されます。すぐに実行され、その後 1000 ミリ秒ごとに実行され、タイマーがキャンセルされるまで実行が続けられます。

Javaタイマーで時間を設定する方法

このチュートリアルのオペレーティング システム: Windows 10 システム、Dell G3 コンピューター。

Java では、Timer クラスと TimerTask クラスを使用して、スケジュールされたタスクを実装できます。以下は、Timer と TimerTask を使用してタイマーを設定し、タスクを実行する方法を示す簡単な例です。

import java.util.Timer;
import java.util.TimerTask;
public class TimerExample {
    public static void main(String[] args) {
        // 创建定时器对象
        Timer timer = new Timer();
        // 创建定时任务对象
        TimerTask task = new TimerTask() {
            @Override
            public void run() {
                // 在此处编写定时执行的任务
                System.out.println("Task executed at: " + System.currentTimeMillis());
            }
        };
        // 设置定时器,延迟0毫秒后开始执行任务,每隔1000毫秒执行一次
        timer.schedule(task, 0, 1000);
        // 等待一段时间后,取消定时任务
        try {
            Thread.sleep(5000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        // 取消定时任务
        timer.cancel();
        System.out.println("Timer canceled");
    }
}

上の例では、TimerTask の run メソッドは、スケジュールされた実行のタスクを定義します。タイマーのスケジュール方法では、タイマーの開始時刻や間隔などを設定できます。この例では、タスクはプログラムの開始直後に実行され、その後は 1000 ミリ秒ごとに実行され、タイマーがキャンセルされるまで継続されます。

Timer クラスは Java では非推奨になっていることに注意してください。より強力で柔軟なスケジュール機能を提供する ScheduledExecutorService を使用して、スケジュールされたタスクを実行することをお勧めします。次に、ScheduledExecutorService の使用例を示します。

import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
public class ScheduledExecutorExample {
    public static void main(String[] args) {
        // 创建ScheduledExecutorService对象
        ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
        // 创建定时任务对象
        Runnable task = () -> {
            // 在此处编写定时执行的任务
            System.out.println("Task executed at: " + System.currentTimeMillis());
        };
        // 设置定时器,延迟0毫秒后开始执行任务,每隔1000毫秒执行一次
        scheduler.scheduleAtFixedRate(task, 0, 1000, TimeUnit.MILLISECONDS);
        // 等待一段时间后,关闭定时器
        try {
            Thread.sleep(5000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        // 关闭定时器
        scheduler.shutdown();
        System.out.println("Scheduler shutdown");
    }
}

この例では、ScheduledExecutorService のscheduleAtFixedRate メソッドを使用します。このメソッドのパラメータには、タスク オブジェクト、初期遅延時間、間隔時間、および時間単位が含まれます。この例では、タスクはプログラムの開始直後に実行され、その後は 1000 ミリ秒ごとに実行され、タイマーがオフになるまで継続されます。

以上がJavaタイマーで時間を設定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。