Недетерминированные значения чтения при использовании std::atomic store/load с std::memory_order_seq_cstC++

Программы на C++. Форум разработчиков
Anonymous
Недетерминированные значения чтения при использовании std::atomic store/load с std::memory_order_seq_cst

Сообщение Anonymous »

Я начал изучать упорядочение памяти в C++ с помощью std::atomic. Я пытаюсь понять механизм синхронизации между последовательным сохранением и загрузкой атомарной переменной из двух разных потоков. Если мы вызовем загрузку и сохранение из двух разных потоков, используя порядок памяти по умолчанию std::memory_order_seq_cst, вот так

Код: Выделить всё

std::atomic data(0);

void func() {
data.store(1234, std::memory_order_seq_cst);
}

int main() {
std::thread t(func);
int val = data.load(std::memory_order_seq_cst);
std::cout 

Подробнее здесь: [url]https://stackoverflow.com/questions/76915902/non-deterministic-read-values-when-using-stdatomic-store-load-with-stdmemory[/url]

Вернуться в «C++»