如何中断线程
分类:
文章
•
2024-07-27 13:47:16
已经被抛弃的方法
- 使用
stop()
方法停止线程。可以用线程A去停止线程B。这种方法太过暴力,不安全。比如线程A调用线程B的stop()方法去停止线程B。调用时,A并不知道B执行的具体情况,这样突然的停止,会导致B的一些清理工作无法完成。并且,B执行stop()
后,会立即释放锁,可能引起数据不同的问题
- 使用
suspend()
和resume()
方法
目前使用的方法
- 使用
interrupt()
,通知线程应该中断了。其实并没有中断线程。和yield()
一样,只是一个提醒。具体是中断线程还是继续执行,由被通知的线程自己去处理
如处于sleep,wait,join等状态