有没有办法立即杀死一个线程或中断它。
就像在我的一个线程中,我调用一个需要时间来执行的方法(2-4秒)。这个方法在一个while(boolean flag)块中,所以我可以从主线程中断它。
但问题是,如果我中断它,它将等待执行循环完成,然后在下一个条件检查时,它将停止执行。
我想让它马上停下来。有没有办法做到这一点?
发布于 2010-12-26 01:19:39
如果你需要提前停止线程,你需要在你的线程中设置更多的断点。
您可以使用stop()立即阻止它,但这是有代价的,并且可能会产生许多不受欢迎的副作用。您可以非常小心地安全地使用stop(),但实际上您会发现放入更多断点(检查线程是否应该停止的断点)会更简单/更容易/更安全。
顺便说一句,如果你想抛出一个不会打印的错误,你可以使用ThreadDeath,因为这可以静默地关闭线程。
发布于 2010-12-26 00:22:14
不,我不相信有办法。你不想这么做是有原因的。
Why are Thread.stop, Thread.suspend and Thread.resume Deprecated?
https://stackoverflow.com/questions/4530744
复制相似问题