Search code examples
c++multithreadingmulticoreatomic

High-level Compare And Swap (CAS) functions?


I'd like to document what high-level (i.e. C++ not inline assembler ) functions or macros are available for Compare And Swap (CAS) atomic primitives...

E.g., WIN32 on x86 has a family of functions _InterlockedCompareExchange in the <_intrin.h> header.


Solution

  • I'll let others list the various platform-specific APIs, but for future reference in C++09 you'll get the

    atomic_compare_exchange() 
    

    operation in the new "Atomic operations library".