ホームページ >Java >&#&チュートリアル >Java スレッドを正常に停止する方法: Thread.stop() はまだオプションですか?
Java スレッドの正常な停止
長くて不完全な可能性のあるスレッドに直面した場合、制御された方法でスレッドを終了することが必要になる場合があります。これにより、突然の中断が回避され、適切なシャットダウン プロセスが確保されます。
最適なアプローチ
推奨される方法には、スレッドの run() メソッド内にブール フラグを実装することが含まれます。スレッドを終了する必要がある場合、このフラグは外部ソースから「true」に設定されます。これにより、スレッドは現在の実行を自然に完了し、正常に終了できます。
例:
public class MyThread extends Thread { volatile boolean finished = false; public void stopMe() { finished = true; } @Override public void run() { while (!finished) { // Perform necessary tasks } } }
従来のアプローチ: Thread.stop()
古いスレッド終了方法には、Thread.stop() メソッドの呼び出しが含まれていました。ただし、このアプローチは現在では安全ではないと考えられており、推奨されていません。ブール値フラグ メソッドとは異なり、Thread.stop() はスレッドを突然停止するため、保護されたオブジェクトが不安定な状態になり、予測不可能な結果を引き起こす可能性があります。
したがって、ブール値フラグ アプローチは、引き続き Java スレッドを適切に停止するための推奨ソリューションとなります。 .
以上がJava スレッドを正常に停止する方法: Thread.stop() はまだオプションですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。