gorden曹的地盘

 

2011年7月30日

C++ 原子操作和内存模型

摘要: 最近有一个困扰我的问题:如何使C++的原子变量高效而且可移植? 我知道Java volatile是怎么工作的——它强制实行顺序一致性(sequential consistency),但是这个方法并不总是效率最高的。 C++0x原子变量在默认模式下也一样强制实施顺序一致性。如果没有特别的顺序注记(annotation),它们和Java volatile几乎一模一样(有趣的是,Java的volatile并不强制原子性——尽管有个atomic library来实现这一点)。 但是C++可以在不同程度上放松顺序一致性的限制,如果使用得当的话,将会产生效率更高的代码。 在学习了一些x86的内存模型的知识 阅读全文

posted @ 2011-07-30 22:21 Raffaele曹 阅读(3068) 评论(2) 推荐(0) 编辑

导航