首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >顺序一致的内存和原子寄存器

顺序一致的内存和原子寄存器
EN

Stack Overflow用户
提问于 2016-04-28 01:00:48
回答 1查看 477关注 0票数 0

序列一致性(适用于无数据竞争程序,SC-DRF)是现代编程语言(如Java或C++11)提供的最强的共享内存一致性模型。

在“多处理器编程的艺术”中,作者(M. Herlihy和N. Shavit)在本书的大部分定理中使用了原子寄存器的概念。

正确的说法是,Java中的volatile引用和std::memory_order seq_cst中的C++中的原子引用是(与)原子寄存器(无法区分)吗?如果C++的存储模型保证在标记为std::atomic的整个内存空间上的顺序一致性,是否有可能观察到线性寄存器和原子之间的差异

EN

回答 1

Stack Overflow用户

发布于 2016-04-28 01:15:14

对于C/C++情况,使用memory_order_seq_cst读取或修改的atomics应该为您提供所需的一切(原子RMW操作,并保证了线性化)。

对于java,易失性提供了读和写的线性化,但是任何严重的并发代码也可能需要RMW (即比较和交换),所以查看java原子包中也进行比较和交换的类型(我认为不使用这些包或同步关键字是不可能实现比较和交换的) http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/atomic/package-summary.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36903441

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档