java如何捕获InterruptedException错误
发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,小编给大家分享一下java如何捕获InterruptedException错误,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧
千家信息网最后更新 2026年11月04日java如何捕获InterruptedException错误
小编给大家分享一下java如何捕获InterruptedException错误,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
捕获InterruptedException错误
请检查下面的代码片段:
public class Task implements Runnable { private final BlockingQueue queue = ...; @Override public void run() { while (!Thread.currentThread().isInterrupted()) { String result = getOrDefault(() -> queue.poll(1L, TimeUnit.MINUTES), "default"); //do smth with the result } } T getOrDefault(Callable supplier, T defaultValue) { try { return supplier.call(); } catch (Exception e) { logger.error("Got exception while retrieving value.", e); return defaultValue; } }}代码的问题是,在等待队列中的新元素时,是不可能终止线程的,因为中断的标志永远不会被恢复:
1.运行代码的线程被中断。
2.BlockingQueue # poll()方法抛出InterruptedException异常,并清除了中断的标志。
3.while中的循环条件 (!Thread.currentThread().isInterrupted())的判断是true,因为标记已被清除。
为了防止这种行为,当一个方法被显式抛出(通过声明抛出InterruptedException)或隐式抛出(通过声明/抛出一个原始异常)时,总是捕获InterruptedException异常,并恢复中断的标志。
T getOrDefault(Callable supplier, T defaultValue) { try { return supplier.call(); } catch (InterruptedException e) { logger.error("Got interrupted while retrieving value.", e); Thread.currentThread().interrupt(); return defaultValue; } catch (Exception e) { logger.error("Got exception while retrieving value.", e); return defaultValue; }}以上是"java如何捕获InterruptedException错误"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
错误
代码
标志
篇文章
内容
方法
线程
原始
不怎么
元素
大部分
更多
条件
标记
片段
知识
行业
行为
资讯
资讯频道
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网最新的科技
互联网通讯科技
互联网科技与金融科技
嘟嘟瓜互联网科技
上海喔噻互联网科技
互联网科技的未来发展
左右互联网络科技
中正互联网科技招聘
现代互联网科技股
广州恒生互联网科技有限
贵州叶脉互联网科技有限公司所属行业
世界互联网科技公司市值排名
厦门千工互联网科技有限公司
洛阳昕诺飞互联网科技有限公司
消费医药和互联网科技
内蒙古九一互联网科技
滨湖区互联网智能科技产品有哪些
恒生科技指数 中概互联网
科技互联网专业工作会议发言稿
武汉亿视互联网科技有限公司
河南真二互联网科技有限公司
万达互联网科技
互联网科技小额贷款
新华互联网科技校企合作
剑昆互联网络科技有限公司临桂
互联网与数字科技关系
上海同邻互联网科技有限公司规模
中国互联网公司的科技投入
互联网金融金融科技
保山浩联互联网科技有限公司