ホームページ  >  記事  >  Java  >  Java は、Thread クラスの sleep() 関数を使用して、スレッドの実行を一時停止します。

Java は、Thread クラスの sleep() 関数を使用して、スレッドの実行を一時停止します。

WBOY
WBOYオリジナル
2023-07-24 12:07:561669ブラウズ

Java は Thread クラスの sleep() 関数を使用してスレッドの実行を一時停止します

Java では、スレッドは同時実行の基本単位です。スレッドの停止と制御を実現するために、Java では Thread クラスの sleep() メソッドが提供されています。 sleep() メソッドを使用すると、スレッドは実行を続行する前に一定期間一時停止できます。この記事では、sleep() メソッドを使用してスレッドの実行を一時停止する方法をコード例とともに紹介します。

Thread クラスの sleep() メソッドは静的メソッドであり、Thread クラスを通じて直接呼び出すことができます。このメソッドのプロトタイプは次のとおりです。

public static void sleep(long millis)

            throws InterruptedException

このうち、millis パラメータは一時停止するミリ秒数を示します。 sleep() メソッドが呼び出されると、現在のスレッドは実行を一時停止し、ブロッキング状態に入り、指定されたミリ秒数が経過すると自動的に起動して実行を継続します。 sleep() メソッドは InterruptedException をスローするため、このメソッドを使用する場合は例外処理が必要であることに注意してください。

次は、sleep() メソッドを使用してスレッドの実行を一時停止する方法を示す簡単な例です。

public class SleepExample {

    public static void main(String[] args) {
        // 创建一个新线程
        Thread thread = new Thread(new MyRunnable());

        // 启动线程
        thread.start();

        try {
            // 主线程暂停500毫秒
            Thread.sleep(500);

            // 中断线程
            thread.interrupt();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }

    static class MyRunnable implements Runnable {

        @Override
        public void run() {
            try {
                // 线程执行任务
                System.out.println("线程开始执行任务");

                // 线程暂停1秒
                Thread.sleep(1000);

                // 继续执行任务
                System.out.println("线程继续执行任务");
            } catch (InterruptedException e) {
                // 线程被中断,抛出异常
                System.out.println("线程被中断,任务终止");
                return;
            }

            // 线程执行完成
            System.out.println("线程任务执行完成");
        }
    }
}

上の例では、最初に新しいスレッドが作成され、開始されます。 。次に、メインスレッドは sleep() メソッドを呼び出して実行を 500 ミリ秒間一時停止し、新しいスレッドを中断します。新しいスレッドの run() メソッドでは、スレッドは最初に「スレッドがタスクの実行を開始する」を出力し、次に sleep() メソッドを呼び出して実行を 1 秒間一時停止し、最後に「スレッドがタスクの実行を継続する」を出力します。新しいスレッドが sleep() メソッドを呼び出す前にメイン スレッドが新しいスレッドに割り込んだ場合、新しいスレッドは InterruptedException をスローし、「スレッドが中断され、タスクは終了しました」と出力します。

Thread クラスの sleep() メソッドを使用すると、スレッドの一時停止と再開を正確に制御して、マルチスレッド プログラミングにおけるスレッド間の調整と同期を実現できます。

以上がJava は、Thread クラスの sleep() 関数を使用して、スレッドの実行を一時停止します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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