glib a提供g_atomic_int_get函数以原子方式读取标准Cint类型。从内存中读取32位整数到寄存器中不是已经被处理器保证是原子操作(例如mov <reg32>, <mem>)吗?
如果是,那么glibg_atomic_int_get功能的目的是什么?

最佳答案

有些处理器允许读取未对齐的数据,但这可能需要一个以上的周期。也就是说,它不再是原子的了。在另一些情况下,一开始可能根本不是原子操作。

关于c - glib的g_atomic_int_get的目的是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43187176/

10-11 18:54