关于c ++:Java内存模型和C ++ 11内存模型有什么相似之处?

What are the similarities between the Java memory model and the C++11 memory model?

新的C++标准引入了内存模型的概念。关于这个问题,已经有问题了,它意味着什么,它如何改变我们在C++中编写代码的方式等等。

我感兴趣的是了解C++内存模型是如何与旧的、众所周知的Java内存模型(1.5)相关的。是一样的吗?相似吗?它们有什么显著的区别吗?如果是,为什么?

Java内存模型已经存在很长时间了,很多人都相当清楚地知道它,所以我想,通过与Java内存模型进行比较,不仅可以帮助我学习C++内存模型,而且对我也有帮助。


Java内存模型是对C++ 11内存模型的重要影响,是我们提取之前发生的术语并与之同步的地方。然而,C++ 11内存模型比Java内存模型对内存排序提供了更细粒度的控制。

Java EDCOX1的0个变量相当于C++ 11 EDCOX1,1个变量,如果使用EDCOX1,2内存读取顺序,EDOCX1,3,写入顺序,EDCOX1,4,RMW操作的排序。

Java中没有等价于EDCOX1的5Ω,或者EDCOX1×6。