beyond_touch 发表于 2013-09-19 01:53

一个关于原子操作的问题

union {
      uint32_t dword;
      struct {
                uint16_t word0;
                uint16_t word1;
      };
};如果同时在'dword'和'word*'上执行原子操作(加,减)
会不会有什么问题?
或者在什么架构的CPU上会出现非预期的结果。

EricFisher 发表于 2013-09-22 16:11

本帖最后由 EricFisher 于 2013-09-22 16:12 编辑

union里的成员是使用的同一块内存。所以个人觉得,结果就相当于对同一块内存进行操作。
页: [1]
查看完整版本: 一个关于原子操作的问题