Q
比较和交换库?
3
A
回答
2
这取决于您需要的编译器兼容性。
如果您在两个平台上都使用GCC,则可以使用GCC的原子基元,因为它们绑定到硬件体系结构,而不是OS平台。
否则,正如PeterK所建议的,看看Boost吧。有一个Boost.Atomic候选库;我不知道它被纳入的地位是什么。
1
1
提升的替代方法是TBB(线程构建模块)。这不是一个像boost一样的大规模库,并且专注于并行编程。
0
C++ 0X将[终于]解决这个问题。对于GCC,请参见http://gcc.gnu.org/wiki/Atomic/GCCMM/ExecutiveSummary和http://gcc.gnu.org/wiki/Atomic/GCCMM/DataRaces。
相关问题
- 1. 高级比较和交换(CAS)函数?
- 2. 128位比较和交换固有
- 3. weakCompareAndSwap VS比较并交换
- 4. 大于比较并交换
- 5. 比较一些原子交换其他
- 6. 快速排序 - 比较/交换柜台
- 7. Mergesort互换和比较
- 8. 字比较和更换
- 9. 比较/相交比较标准
- 10. 海湾合作委员会内部原子比较和交换
- 11. EhCache中的比较和交换(CAS)实现
- 12. 比较和交换后CPU高速缓存行会刷新吗?
- 13. 用于比较和交换多个值的编程建议
- 14. 插入排序 - C中的比较和交换计数
- 15. 哪些CPU架构支持比较和交换(CAS)?
- 16. 如何实现一种新的比较和交换指令
- 17. 插入排序中的比较和交换之间的区别
- 18. 在64位字上进行32位比较和交换
- 19. POSIX兼容的文件系统对象的比较和交换
- 20. Ajax库比较
- 21. 比较提交的textarea和初始值
- 22. 转换和微秒和毫秒比较
- 23. 转换和比较NSString和NSDate
- 24. 转换和比较mysql和c#datetime
- 25. 交叉表比较,产品
- 26. 数据库比较
- 27. Moq - 对象类型转换和比较
- 28. c + +比较和替换字符串流
- 29. 电话号码转换和比较
- 30. 如何转换和比较NSNumber BOOL?
我现在正在使用__sync_val_compare_and_swap。我只是假设这个相对常见的功能会有一个广泛使用的标准库。 – 2010-07-01 20:45:24