C++ 便携式c++;原子交换(Windows-GNU/Linux-MacOSX)
是否有提供无锁原子交换功能的免费便携式(Windows、GNU/Linux和MacOSX)库 如果没有,将如何为这些平台中的每一个实施?(使用VC++或g++的x86)C++ 便携式c++;原子交换(Windows-GNU/Linux-MacOSX),c++,portability,swap,atomicity,C++,Portability,Swap,Atomicity,是否有提供无锁原子交换功能的免费便携式(Windows、GNU/Linux和MacOSX)库 如果没有,将如何为这些平台中的每一个实施?(使用VC++或g++的x86) 谢谢取决于您想交换什么。在assembler for x86中,您可能能够获得“几乎”的原子异或交换,否则我会使用一些使用锁定的解决方案,这在Win32/{Linux,Darwin}上有所不同 如果您正在寻找一个库,请查看APR(Apache Portable Runtime)-中有一个库正在等待审核。此外,若你们深入研究这个库
谢谢取决于您想交换什么。在assembler for x86中,您可能能够获得“几乎”的原子异或交换,否则我会使用一些使用锁定的解决方案,这在Win32/{Linux,Darwin}上有所不同
如果您正在寻找一个库,请查看APR(Apache Portable Runtime)-中有一个库正在等待审核。此外,若你们深入研究这个库的源代码,你们会发现多个平台的原子操作是内联的。另一个问题是,Intel实现了原子模板。Boost以便携方式简化无锁操作 尤其应该使用apr原子比较和交换,使用与比较相同的值。放一段时间,因为不能保证交换会发生。对。。。我们讨论的是哪种工作的编译器实现?