我想记录比较和交换(CAS)原子基元可用的高级(即C++非内联汇编器)函数或宏...高级比较和交换(CAS)函数?
例如,x86上的WIN32具有一系列函数_InterlockedCompareExchange
在<_intrin.h>
标题中。
我想记录比较和交换(CAS)原子基元可用的高级(即C++非内联汇编器)函数或宏...高级比较和交换(CAS)函数?
例如,x86上的WIN32具有一系列函数_InterlockedCompareExchange
在<_intrin.h>
标题中。
我就让别人列出各种特定平台的API,但对于C++ 09日后参考,你会得到新的“原子操作库”的
atomic_compare_exchange()
操作。
在Solaris上有“atomic.h”(即<sys/atomic.h>)。
的MacOS X有OSAtomic.h
GCC有一些built-ins for atomic accesses了。
这个问题被标记为C++;) – paxos1977 2008-09-30 16:24:38
油腔滑调,在Linux和Unix系统中常见的系统库(但也支持Windows和Mac OS X),定义several atomic operations,包括g_atomic_int_compare_and_exchange和g_atomic_pointer_compare_and_exchange。
在这个问题上已经有一系列的工作组论文提出了对C++标准库的修改。 WG N2427(C++原子类型和操作)是最新的,它对未决标准的第29部分 - 原子操作库作出贡献。
甜蜜的回答!等不及... – paxos1977 2008-09-30 05:35:05