加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 湛江站长网 (https://www.0759zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营 > 正文

Java内存模型的深入理解

发布时间:2020-12-31 08:31:25 所属栏目:运营 来源:网络整理
导读:副标题#e# h3 id="基础"基础 h4 id="并发编程的模型分类"并发编程的模型分类 在并发编程需要处理的两个关键问题是:线程之间如何通信?和?线程之间如何同步。 通信?是指线程之间以何种机制来交换信息。在命令式编程中,线程之间的通信机制有两种:共享内存?

2.正确同步的多线程程序。正确同步的多线程程序的执行将具有顺序一致性(程序的执行结果与该程序在顺序一致性内存模型中的执行结果相同)。这是 JMM 关注的重点,JMM通过限制编译器和处理器的重排序来为程序员提供内存可见性保证。

3.未同步/未正确同步的多线程程序。JMM 为它们提供了最小安全性保障:线程执行时读取到的值,要么是之前某个线程写入的值,要么是默认值(0,null,false)。

下图展示了这三类程序在 JMM 中与在顺序一致性内存模型中的执行结果的异同:

我有一个微信公众号,经常会分享一些Java技术相关的干货;

如果你喜欢我的分享,可以用微信搜索“Java团长”或者“javatuanzhang”关注。

转自:http://www.54tianzhisheng.cn/2018/02/28/Java-Memory-Model/

(编辑:PHP编程网 - 湛江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!