我想记录什么高级别(即C ++不内联汇编)函数或宏可用于比较和交换(CAS)的原子基元...
例如,WIN32在x86具有家庭功能的_InterlockedCompareExchange
在<_intrin.h>
头。
我想记录什么高级别(即C ++不内联汇编)函数或宏可用于比较和交换(CAS)的原子基元...
例如,WIN32在x86具有家庭功能的_InterlockedCompareExchange
在<_intrin.h>
头。
我让别人列出各种特定平台的API,但对于C ++ 09日后参考,你会得到
atomic_compare_exchange()
在新的“原子操作库”操作。
巧舌如簧,在Linux和Unix系统中的常见系统库(也支持Windows和Mac OS X),定义了几个原子操作 ,包括g_atomic_int_compare_and_exchange和g_atomic_pointer_compare_and_exchange。
GCC有一些内置插件的原子访问 ,太。
在Solaris有“atomic.h中”(即在<sys / atomic.h中> )。
MacOS X的有OSAtomic.h
已经有一系列的关于这个问题建议改变的C ++标准库工作组的论文。 WG N2427 (C ++原子类型和操作 )是最新的,这有助于第29条- 原子操作库 -待处理的标准。
Java有此CAS操作,也
看这里
这是你的实际用途,如无锁哈希表在多处理器系统中使用