gpt4 book ai didi

java - Java中的线程挂起时如何停止?

转载 作者:行者123 更新时间:2023-11-29 05:56:06 27 4
gpt4 key购买 nike

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

最佳答案

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

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

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

关于java - Java中的线程挂起时如何停止?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12071454/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com