众所周知,在C ++ 11和C11中,存在使用memory_order的原子操作:
但是Linux内核开发人员使用GCC,并且由于早期版本的GCC对使用C11原子操作编写的代码进行了优化,因此Linux内核开发人员不使用C11原子,但使用:
但是Linux-Kernel Atomic Operations是否使用了依赖于硬件的方法,例如LL / SC(负载链接/存储条件),这些方法在C11中不是?
或Linux-kernel-Atomics与C11-Atomics不同之处仅在于障碍与原子操作分开使用,而不是其他?