Родной Android, Блокированные / Атомные операции - PullRequest
2 голосов
/ 16 марта 2012

Блокированные / атомарные операции зависят от процессора.

Существует ли какое-либо общее базовое требование для всех устройств, поддерживающих Android, в отношении операций с блокировкой?

Существуют ли какие-либо блокированные операции, поддерживаемые всеми устройствами Android?

Существует ли Android-эквивалент Windows InterlockedExchange?

Любая помощь будет оценена.

Ответы [ 3 ]

3 голосов
/ 16 марта 2012

Вы можете использовать __atomic_swap для функциональности InterlockedExchange.

Для получения дополнительной информации читайте файл docs / ANDROID-ATOMICS.html из дистрибутива NDK.

1 голос
/ 17 марта 2012

Вы также можете использовать GCC атомарные встроенные .

0 голосов
/ 29 августа 2016

В последних выпусках ndk есть заголовок stdatomic, поэтому, если вы используете модуль GNU или LLVM cxx, можно использовать этот стандартный заголовок C ++ 11. Однако вы не можете использовать его с STLport - у него нет такого заголовка. Не забудьте добавить libatomic к LOCAL_LDLIBS (подробности см. https://developer.android.com/ndk/guides/cpp-support.html).

...