栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

CountDownLatch InterruptedException

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

CountDownLatch InterruptedException

这恰恰是您不应该做的

InterruptedException
。从
InterruptedException
本质上来说,An
是对该线程终止的礼貌请求。该线程应清理并尽快退出。

IBM对此发表了一篇很好的文章:http
:
//www.ibm.com/developerworks/java/library/j-jtp05236.html

这是我会做的:

// Run while not interrupted.while(!(Thread.interrupted()){    try    {        // Do whatever here.    }    catch(InterruptedException e)    {        // This will cause the current thread's interrupt flag to be set.        Thread.currentThread().interrupt();    }}// Perform cleanup and exit thread.

这样,这样做的好处是:如果在阻塞方法中线程被中断,则不会设置中断位,

InterruptedException
而是抛出an
。如果您的线程在没有阻塞方法的情况下被中断,则将设置被中断的位,并且不会引发异常。因此,通过调用
interrupt()
在异常上设置标志,两种情况都被规范化为第一种情况,然后由循环条件检查。

另外,这还使您可以通过简单地中断线程来停止线程,而无需发明自己的机制或接口来设置一些布尔标志来执行完全相同的操作。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/508638.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号