为了账号安全,请及时绑定邮箱和手机立即绑定

为什么在catch InterruptException块中调用Thread.current?

为什么在catch InterruptException块中调用Thread.current?

慕田峪9158850 2019-10-06 11:14:14
为什么要Thread.currentThread.interrupt()在catch块中调用该方法?
查看完整描述

4 回答

?
梦里花落0921

TA贡献1772条经验 获得超6个赞

我认为这是一种不好的做法,或者至少有点冒险。通常,更高级别的方法不会执行阻塞操作,并且它们永远不会InterruptedException在那里看到。如果在执行中断操作的所有位置屏蔽它,您将永远无法获得它。


Thread.currentThread.interrupt()不引发任何其他异常或以其他任何方式发出中断请求(例如interrupted,在线程的主循环中设置局部变量变量)的唯一理由是,您实际上无法对异常执行任何操作(例如在finally块中)。


如果您想更好地了解Thread.currentThread.interrupt()电话的含义,请参阅PéterTörök的答案。


查看完整回答
反对 回复 2019-10-06
  • 4 回答
  • 0 关注
  • 577 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信