ホームページ  >  記事  >  Java  >  Java でスレッドを正常に停止するにはどうすればよいですか?

Java でスレッドを正常に停止するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-11 04:33:03983ブラウズ

How to Gracefully Halt a Thread in Java?

Java でのスレッドの正常な停止

スレッドの実行に過度に時​​間がかかる場合、スレッドを正常に停止する必要がある場合があります。システムの不安定を防ぐため。これを実現するための推奨されるアプローチは、次のようにスレッドの run() メソッド内にブール フラグを実装することです。

class MyThread extends Thread {
  volatile boolean finished = false;

  public void stopMe() {
    finished = true;
  }

  public void run() {
    while (!finished) {
      // Perform necessary tasks
    }
  }
}

これにより、finished を true に設定することで、外部ソースからスレッドを停止できます。

古い Thread.stop() メソッドは本質的に安全ではないことに注意することが重要です。 Java のドキュメントに記載されているように、モニターのロック解除やオブジェクトの状態の不一致により、任意の動作が発生する可能性があります。したがって、上で示したように、スレッドの run() メソッド内にガードを実装することが、スレッドを正常に終了するための推奨される安全なアプローチです。

以上がJava でスレッドを正常に停止するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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