爪哇缪斯
面试题97:Thead类中interrupt()、interrupted()、isInterrupted()区别是什么?
关注作者
前往小程序,Get
更优
阅读体验!
立即前往
腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
腾讯云架构师技术同盟
文章/答案/技术大牛
搜索
搜索
关闭
发布
首页
学习
活动
专区
工具
TVP
腾讯云架构师技术同盟
返回腾讯云官网
爪哇缪斯
首页
学习
活动
专区
工具
TVP
腾讯云架构师技术同盟
返回腾讯云官网
社区首页
>
专栏
>
面试题97:Thead类中interrupt()、interrupted()、isInterrupted()区别是什么?
面试题97:Thead类中interrupt()、interrupted()、isInterrupted()区别是什么?
爪哇缪斯
关注
发布于 2023-05-10 09:44:36
发布于 2023-05-10 09:44:36
253
0
举报
文章被收录于专栏:
爪哇缪斯
这3个方法都是用于线程中断操作或判断的。那么,严格地讲,线程中断并不会是线程立即退出,而是给线程发送一个通知,告知目标线程有人希望你退出了,至于目标线程接到通知后如何处理,则完全由目标线程自行决定。
三个方法的区别:
interrupt():中断线程,并添加中断状态。
interrupted():判断是否被中断,并
清除
当前中断状态。
isInterrupted():只是判断是否被中断,并
不清除
当前中断状态。
实例一:我们利用interrupt()来打断线程
实例二:利用interrupted()清除中断状态
实例三:由于异常清除了中断状态,所以isInterrupted方法会返回false,那么无法通过break跳出无限循环。
实例四:异常清除了中断状态,所以再次执行interrupt()添加中断状态,这样isInterrupted方法会返回true,执行break跳出循环。
本文参与
腾讯云自媒体同步曝光计划
,分享自微信公众号。
原始发表:2021-11-04,如有侵权请联系
cloudcommunity@tencent.com
删除
break
interrupt
线程
异常
本文分享自
爪哇缪斯
微信公众号,
前往查看
如有侵权,请联系
cloudcommunity@tencent.com
删除。
本文参与
腾讯云自媒体同步曝光计划
,欢迎热爱写作的你一起参与!
break
interrupt
线程
异常
评论
登录
后参与评论
0 条评论
热度
最新
推荐阅读
LV.
文章
0
获赞
0
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档
0
0
0
推荐