1

ハングしたときにJavaでスレッドを停止する方法は? ハングしたスレッド内の割り込みフラグを確認できないため、interrupt() を使用できません。また、安全ではないため、stop() は非推奨です。

前もって感謝します。

更新: Socket.connect() でスレッドがハングします:

Method m = device.getClass().getMethod("createInsecureRfcommSocket",
            new Class[] { int.class });
final BluetoothSocket socket = (BluetoothSocket) m.invoke(device, port);
socket.connect();
4

1 に答える 1

3

スレッドを正常にシャットダウンする唯一の方法は、スレッド自体を適切に停止することです。

ソケットの読み取りまたは書き込みなどのリソースでスレッドがブロックされている場合は、スレッドを閉じてみると、IOException がトリガーされます。スレッドのブロックを解除する方法は、ブロックされている理由に完全に依存します。

スレッドを強制的に停止する場合は、正常に停止するという考えをあきらめたことになりThread.stop()ますSystem.exit()

于 2012-08-22T10:53:39.853 に答える