Недетерминированные значения чтения при использовании 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]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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