原生Android,互锁/原子操作

时间:2012-03-16 07:40:46

标签: android android-ndk pthreads

互锁/原子操作是CPU特定的。

对于互锁操作,所有Android支持硬件是否有任何共同的基线要求?

所有Android设备是否都支持互锁操作?

是否有任何Android等效于Windows的InterlockedExchange?

任何帮助将不胜感激。

3 个答案:

答案 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。)