我想记录哪些高级(即C++非内联汇编程序)函数或宏可用于Compare And Swap(CAS)原子基元......
例如,在x86 WIN32有一个家庭的功能_InterlockedCompareExchange
在<_intrin.h>
头.
我会让其他人列出各种特定于平台的API,但是为了将来在C++ 09中的参考,你将获得
atomic_compare_exchange()
在新的"原子操作库"中操作.
glib是Linux和Unix系统上的通用系统库(在Windows和Mac OS X上也支持),它定义了几个原子操作,包括g_atomic_int_compare_and_exchange和g_atomic_pointer_compare_and_exchange.
GCC也有一些用于原子访问的内置插件.