UNIX Portable Atomic Operations
Есть ли в C (POSIX-) переносимый способ для операций с атомарными переменными, аналогичный переносимому потоку с pthread?
Атомарные операции - это такие операции, как "increment and get" которые выполняются атомарно, это означает, что никакой переключатель контекста не может вмешиваться в операцию. В пространстве ядра Linux мы должныatomic_t типа, в Java у нас естьjava.util.concurrent.atomic пакет.
В Linux файл atomic.h обеспечивает атомарные операции, но включение зависит от платформы, например#include <asm-x86_64/atomic.h>
и он не доступен в Mac OS X аналогичным образом.