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

为什么要Thread.currentThread.interrupt()在catch块中调用该方法?



慕田峪9158850
浏览 578回答 4
4回答

梦里花落0921

我认为这是一种不好的做法,或者至少有点冒险。通常,更高级别的方法不会执行阻塞操作,并且它们永远不会InterruptedException在那里看到。如果在执行中断操作的所有位置屏蔽它,您将永远无法获得它。Thread.currentThread.interrupt()不引发任何其他异常或以其他任何方式发出中断请求(例如interrupted,在线程的主循环中设置局部变量变量)的唯一理由是,您实际上无法对异常执行任何操作(例如在finally块中)。如果您想更好地了解Thread.currentThread.interrupt()电话的含义,请参阅PéterTörök的答案。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java