stop();与interrupt()有什么不同

cooc123 2008-01-09 12:20:08
在线程里

stop();与interrupt()有什么不同

好象都可以中断线程哦
...全文
524 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
heroiverson 2010-01-11
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 superjoo 的回复:]
如果说interrupt()是往一个正在睡觉的人头上泼一盆凉水的话,那么stop()就是一棒子直接把那个人打死了。stop()是强制中段线程,现在已经不推荐使用。
interrupt()相对来说还温柔些,会让你把打开的资源挨个关闭。
[/Quote]

貌似看了老马视频哈~
superjoo 2008-01-16
  • 打赏
  • 举报
回复
如果说interrupt()是往一个正在睡觉的人头上泼一盆凉水的话,那么stop()就是一棒子直接把那个人打死了。stop()是强制中段线程,现在已经不推荐使用。
interrupt()相对来说还温柔些,会让你把打开的资源挨个关闭。
cooc123 2008-01-14
  • 打赏
  • 举报
回复
trd.start();
System.out.println(trd);

trd.interrupt();
System.out.println(trd);

2次输出的结果一样,怎么线程没被中断呢
sun_cat 2008-01-09
  • 打赏
  • 举报
回复
stop 强迫线程停止执行。 现在已经不再推荐使用
该方法具有固有的不安全性。用 Thread.stop 来终止线程将释放它已经锁定的所有监视器(作为沿堆栈向上传播的未检查 ThreadDeath 异常的一个自然后果)。如果以前受这些监视器保护的任何对象都处于一种不一致的状态,则损坏的对象将对其他线程可见,这有可能导致任意的行为。stop 的许多使用都应由只修改某些变量以指示目标线程应该停止运行的代码来取代。目标线程应定期检查该变量,并且如果该变量指示它要停止运行,则从其运行方法依次返回。如果目标线程等待很长时间(例如基于一个条件变量),则应使用 interrupt 方法来中断该等待。有关更多信息,请参阅《为何不赞成使用 Thread.stop、Thread.suspend 和 Thread.resume?》。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧