无论如何都要杀死一个线程或立即中断它 就像在我的一个线程中一样,我调用一个需要时间执行的方法(2-4秒)。这个方法是一个while(布尔标志)块,所以我可以从主线程中断它。
但问题是,如果我打断它;它将等待执行循环结束,然后在下一次条件检查时,它将停止执行。
我希望它能够立即停止。反正有吗?
答案 0 :(得分:4)
如果您需要提前停止线程,则需要在线程中添加更多断点。
你可以使用stop()立即设置它,但这需要付出代价并且有许多可能的不良副作用。您可以非常小心地安全地使用stop(),但实际上您会发现更简单/更容易/更安全地放入更多断点(检查线程是否应该停止的点)
BTW,如果你想抛出一个不会被打印的错误,你可以使用ThreadDeath,因为这样可以静默地关闭线程。
答案 1 :(得分:1)
不,我不相信有办法。你不想这样做是有原因的。
Why are Thread.stop, Thread.suspend and Thread.resume Deprecated?