【问题标题】:gcc atomics supported typesgcc atomics 支持的类型
【发布时间】:2013-09-17 08:43:32
【问题描述】:

这是最近的 gcc 手册中关于原子操作支持的类型的引用。

四个非算术函数(加载、存储、交换和比较 交换)都有一个通用版本。这个通用版本 适用于任何数据类型。如果数据类型大小映射到 可能具有无锁支持的整体尺寸,通用版本 利用无锁内置功能。否则外部调用 留待运行时解决。这个外部调用是一样的 添加一个“size_t”参数作为第一个插入的格式 参数指示被指向的对象的大小。全部 对象的大小必须相同。

原始文档在这里gcc 4.8.1。我假设硬件只能对简单的 32、64 和偶尔的 128 位类型执行原子操作。那么,这些带有指针的函数的通用版本会发生什么?只有指针的访问实际上可以是原子的,对吧?

另一个相关的问题是这些原子如何在像 java 这样的语言中工作?原子访问什么,值还是引用?

【问题讨论】:

    标签: c gcc atomic


    【解决方案1】:

    提到对于泛型类型使用锁。

    【讨论】:

      猜你喜欢
      • 2016-10-07
      • 2014-03-20
      • 2014-08-25
      • 2019-08-24
      • 2021-05-26
      • 2020-03-20
      • 2021-10-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多