作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
这不是关于如何干净地终止线程的问题,即通过对其调用中断并让线程适本地响应。我无法以任何方式修改线程正在执行的代码。
我特别想立即终止一个线程,我根本不在乎事物处于什么状态。我知道使用 Thread.stop 可能会发生类似的事情,但是这实际上会抛出 ThreadDeath 异常,并且线程会终止无法捕获此异常。然而,我正在处理的代码捕获了这个异常并且没有重新抛出它。
Thread.destroy() 似乎是我要找的东西,但是这个方法从未实现过。还有其他方法可以实现吗?
最佳答案
我相信在 Java 中没有办法像您所描述的那样终止一个线程。正如您在评论中指出的那样,interrupt
不会执行您想要的操作。如果线程正在执行,它只是设置一个标志,由线程来通知它。如果线程正在等待或 hibernate ,它将抛出一个 InterruptedException
。
我可以想象做你所描述的唯一方法是终止线程正在运行的进程。 (例如,调用 System.exit(int)
。)
关于java - 如何立即终止线程? (不打扰),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33726010/
我是一名优秀的程序员,十分优秀!