高级比较和交换(CAS)功能?

pax*_*977 13 c++ multithreading multicore atomic

我想记录哪些高级(即C++非内联汇编程序)函数或宏可用于Compare And Swap(CAS)原子基元......

例如,在x86 WIN32有一个家庭的功能_InterlockedCompareExchange<_intrin.h>头.

Mic*_*urr 17

我会让其他人列出各种特定于平台的API,但是为了将来在C++ 09中的参考,你将获得

atomic_compare_exchange() 
Run Code Online (Sandbox Code Playgroud)

在新的"原子操作库"中操作.


Ben*_*bee 9

glib是Linux和Unix系统上的通用系统库(在Windows和Mac OS X上也支持),它定义了几个原子操作,包括g_atomic_int_compare_and_exchangeg_atomic_pointer_compare_and_exchange.