Код: Выделить всё
std::atomic my_atomic;
my_atomic.store(1, std::memory_order_seq_cst);
Разве технически не достаточно обычного хранилища с барьером чтения/записи памяти? Эквивалент:
Код: Выделить всё
_ReadWriteBarrier(); // Or `asm volatile("" ::: "memory");` for gcc/clang
my_atomic.store(1, std::memory_order_acquire);
Подробнее здесь: https://stackoverflow.com/questions/491 ... y-use-xchg
Мобильная версия