Javaでのsleep()メソッドの使用方法と例


まず、sleep()メソッドは以下のように使用します:

try {
    Thread.sleep(ミリ秒);
} catch (InterruptedException e) {
    e.printStackTrace();
}

このコードは、現在のスレッドを指定したミリ秒数だけ休止させます。例外処理は必要なので、InterruptedExceptionをキャッチして適切に処理します。

sleep()メソッドの主な目的は、スレッドの実行を一時停止して他のスレッドに処理の機会を与えることです。これは、複数のスレッドが同時に実行される場合に特に有用です。

以下に、いくつかの具体的な使用例を示します:

  1. スレッドのディレイ:

    public class DelayThread extends Thread {
    public void run() {
        try {
            Thread.sleep(5000); // 5秒間スレッドを休止させる
            // 実行したいコードをここに記述する
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
    }
  2. タイマー機能の実装:

    public class TimerThread extends Thread {
    private int seconds;
    public TimerThread(int seconds) {
        this.seconds = seconds;
    }
    public void run() {
        try {
            for (int i = 0; i < seconds; i++) {
                System.out.println("残り時間: " + (seconds - i) + "秒");
                Thread.sleep(1000); // 1秒間スレッドを休止させる
            }
            System.out.println("時間切れ!");
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
    }

このように、sleep()メソッドはさまざまなシナリオで使用される便利なメソッドです。適切に使用することで、スレッドの制御やタイミングの調整が容易になります。

この記事では、Javaでsleep()メソッドを使用する方法と一般的な使用例を解説しました。これにより、スレッドプログラミングにおいて時間の制御を行う際に役立つ知識を得ることができます。