如何挂断java中的线程?

时间:2012-08-22 10:50:00

标签: java android multithreading

如何挂断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();

1 个答案:

答案 0 :(得分:3)

干净地关闭线程的唯一方法是必须优雅地停止自己。

如果某个线程在Socket读取或写入等资源上被阻塞,您可以尝试关闭它,它将触发IOException。如何解除阻塞线程完全取决于它被阻止的原因。

如果您强制线程停止,您已经放弃了优先停止的想法,在这种情况下,Thread.stop()System.exit()是您唯一的选择。