线程abort

我的方法
:b,abort();
b.join();
意思是彻底终止前,先阻塞之

假设有两个线程A和B,A调用了b.Abort,这句的作用就是,无论B运行到哪里了,在B中当前运行点上抛出ThreadAbortException,A中无法catch到这个exception,因为它根本不在A中。B可以用catch探测到这个异常, 但这个异常会在B的每层catch的末尾自动重新抛出,所以实际上无法被B的任何catch语句真的catch住,他会一直抛出到B的最顶层,使得B被中断。
综上所述,不是将要终结B线程时用ThreadAbortException通知B,而是B就是被这个ThreadAbortException本身终结的, 这个异常就是终结线程的原理。通知只是其附加功能。我说的够明白了吗?不是因为终结是非正常或者什么什么其他原因所以才要抛这个异常,而是就通过此异常终结线程, 没有这个异常就不能使线程终结。 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值