互锁/原子操作是CPU特定的。
对于互锁操作,所有Android支持硬件是否有任何共同的基线要求?
所有Android设备是否都支持互锁操作?
是否有任何Android等效于Windows的InterlockedExchange?
任何帮助将不胜感激。
答案 0 :(得分:3)
您可以使用__atomic_swap进行InterlockedExchange功能。
从NDK发行版中读取docs / ANDROID-ATOMICS.html文件以获取更多信息。
答案 1 :(得分:1)
您也可以使用GCC atomic builtins。
答案 2 :(得分:0)
最新版本的ndk中有stdatomic
标头,因此如果您使用GNU或LLVM cxx模块,则可以使用此标准C ++ 11标头。你不能将它与STLport一起使用 - 它没有这样的标题。不要忘记将libatomic添加到LOCAL_LDLIBS
(有关详细信息,请参阅https://developer.android.com/ndk/guides/cpp-support.html。)