首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >原子操作的最小要求

原子操作的最小要求
EN

Stack Overflow用户
提问于 2012-04-23 02:36:58
回答 2查看 131关注 0票数 0

我只想收集一些关于原子操作要求的evidence-based信息。

例如(也许不对,只是一些例子)

  1. 在x86_64,当你写或读条目大小的长和对齐长,这个操作是声音,因为balabalabala .
  2. 在x86_64,当您使用gcc 原子原语编写或读取字节时,您对这些字节的操作将保持原子化。

希望能接受和帮助:)

EN

回答 2

Stack Overflow用户

发布于 2012-04-23 03:03:06

来自专业C++的报价

对简单标量变量的简单赋值通常不需要同步。例如,在x86上,32位对齐值在硬件级别被原子地处理,单个事务不需要显式同步。例如,将布尔值设置为false以停止线程不需要同步,但是像++ -或任何给定op的op=之类的操作都需要同步。

这并不能回答你所有的问题,但这是你在寻找的一部分吗?

票数 3
EN

Stack Overflow用户

发布于 2012-04-23 08:54:21

如果您正在寻找芯片级的保证,您将需要查阅那些芯片的技术手册。在英特尔上,请查看S软件开发人员手册,它包含内存排序的compelete信息。在这种情况下,原子的定义包括内存排序保证。基本保证是在“第3卷: 8.2内存排序”中列出的,其中还有一些函数被标记为以“原子”方式运行。

注完整的细节是复杂的,需要对芯片有一个详细的理解。这就是为什么C和C++现在将它们封装在更高级别的保证中的原因。当然,你可以参考这些标准,看看它们的保证。

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

https://stackoverflow.com/questions/10274189

复制
相关文章

相似问题

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