编程|并发编程——如何终止线程( 二 )
interrupted()
首先我们看到这个方法是一个静态方法 , interrupted()也调用了isInterrupted(true)方法 , 不过它传递的参数是true , 表示将会清除中断标志位 。
下面测试结果发现这个方法会在中断线程之后 , 会将Interrupted标志位清除 , 发现清除之后的结果为false 。
interrupt()
【编程|并发编程——如何终止线程】前面两个是判断是否中断的方法 , 而interrupt()就是真正触发中断的方法 。
中断线程 , 其实是设置线程的标识位为true 。
interrupt()源码:
1、使用isInterrupted()测试代码:
运行结果图:我们发现调用interrupt()之后 , 标志位变为true跳出循环 , 达到一个中断现成的目的 。
2、使用interrupted()测试代码:
运行结果图:我们发现调用interrupt()之后 , 标志位变为true第二次进入循环 , 发现不符合 , 跳出循环 , 达到一个中断现成的目的 。 但是使用interrupted()会清除标志位 , 所以会发现最后一次打印的和之前不一样了 , 变为false 。
这三个方法要搞清楚 , 这块可能会在面试的时候会问你这三个方法的区别 。
感谢诸君的观看 , 文中如有纰漏 , 欢迎在评论区来交流 。 如果这篇文章帮助到了你 , 欢迎点赞\uD83D\uDC4D关注 。
- CPU|E5系列处理器——工作室和生产力专业处理器,小白请勿购买
- 核桃|核桃编程荣膺“2021中国网·科技企业先锋榜”年度品牌影响力企业
- tiktok|“微商终结者”——朋友圈内容折叠显示功能即将上线
- 画说——胃镜
- 好消息|免费的pdf文件修改工具——pdf补丁丁
- 简约而不简单——GENEVA
- Java|带你入门Java之每日3分钟Java——数据类型和常量变量
- 索尼|2022年,传音最大的看点——伸缩式微距镜头
- 灰度测试|干货分享︱线下零售新机遇——品牌私域化五步走
- v华为“天才少年”再刷屏!一位刚拿下“编程界奥赛”冠军…任正非曾说:海外研究所要转为人才招聘所