質問

私は、デッドロック状態で立ち往生しているスレッドを殺すしたいと思います。まず、我々はfindDeadlockedThreads()ThreadMXBeanクラスのjava.lang.managementメソッドを使用してこのデッドロック状態のスレッドIDを検出href="https://stackoverflow.com/questions/217113/deadlock-in-java">を

そこで、私は、スレッドIDによってスレッドを殺すしたいと思いますので、私は2つの関連質問があります。
(1)スレッドIDによってスレッドの制御を取得する方法?
(2)どのようにブロックされたスレッドを殺すために?私はinvokting割り込みは()メソッドは、スレッドの例外を与えると、スレッドを殺すだろうと思います。

役に立ちましたか?

解決

ルートスレッドグループからは、Threadクラスは、実行中のすべてのスレッドを列挙することができに。次に、あなたのIDと一致するものではThread.stopを呼び出すことができます。

これが原因矛盾した状態にあるオブジェクトを残す可能性に非常に危険である、と述べました。私は、interruptメソッドは、スレッドがそれが同期ロックで待機中で立ち往生されて解放されることになりますと信じているので、(悪)

メソッドを停止しません

参照:「のJavaスレッドプリミティブ廃止」。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top