0

Linux ベースの Java アプリケーションの実行の一部として、main() はスレッドを作成します。

main() が予期しないシナリオで終了した場合、すべてのスレッドが強制終了されてゾンビのままにならないように、アプリケーションを保護したいと考えています。

質問 - メイン スレッドは、クリーンな終了または例外以外の別の方法で終了する可能性があります。ゾンビはまったく問題ありませんか?

  • そのような可能性がある場合、他のスレッドは main() スレッドが死んでいるかどうかをどのように検出しますか?
  • 検出する方法が見つかった場合、main が作成したすべてのスレッドを終了するにはどうすればよいでしょうか。

アプリケーション内のソリューション (Java コード内で実装)、アプリケーション外のソリューション (シェル スクリプト)、またはその両方の組み合わせなど、何でも問題ありません。

考え?

4

2 に答える 2

0

非デーモン スレッドが実行されている限り、JVM は終了しません。すべての非デーモン スレッドが終了すると、実行中のデーモン スレッドの数に関係なく、JVM は終了します。まだ実行中のすべてのデーモン スレッドは強制終了されます。

于 2013-11-13T16:20:32.600 に答える