如何优雅的停止一个线程?( 四 )
Producter.mark
的值的 , 所以在这种情况下用 volatile
是没有办法让生产者停下来的 , 相反如果用 interrupt
语句来中断 , 即使生产者处于阻塞状态 , 仍然能够感受到中断信号 , 并做响应处理 。
总结通过上面的介绍我们知道了 , 线程终止的主要两种方式 , 一种是 `interrupt` 一种是`volatile`, 两种类似的地方都是通过标记来实现的 , 不过`interrupt` 是中断信号传递 , 基于系统层次的 , 不受阻塞影响 , 而对于 `volatile`, 我们是利用其可见性而顶一个标记位标量 , 但是当出现阻塞等时无法进行及时的通知 。 在我们平时的开发中 , 我们视情况而定 , 并不是说必须使用 `interrupt`, 在一般情况下都是可以使用 `volatile` 的 , 但是这需要我们精确的掌握其中的场景 。 本文由AnonyStar 发布,可转载但需声明原文出处 。 仰慕「优雅编码的艺术」 坚信熟能生巧 , 努力改变人生欢迎关注微信公账号 :云栖简码 获取更多优质文章更多文章关注笔者博客 :云栖简码
推荐阅读
- 大一非计算机专业的学生,如何利用寒假自学C语言
- 虾米音乐,下个月正式停止服务
- 虾米音乐播放器将于2月5日停止服务,今开启用户资产处理通道
- 亚马逊宣布停止为Parler提供托管服务
- 红米K40渲染图曝光:居中挖孔+后置四摄,这外观你觉得如何?
- 飞书文档微信小程序审核被卡?字节跳动副总裁谢欣:希望腾讯停止无理由封杀
- 北美新浪回应官网域名停用!停止更新因公司业务调整
- 奋斗|该如何看待拼多多员工猝死:鼓励奋斗,也要保护好奋斗者
- 装机点不亮 如何简易排查硬件问题?
- 虾米音乐宣布关停!我的歌单如何导入QQ音乐、网易云音乐?