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 サイトの他の関連記事を参照してください。