Как правильно использовать std::memory_order, чтобы обеспечить бесперебойность многопоточного чтения и записи?C++

Программы на C++. Форум разработчиков
Гость
Как правильно использовать std::memory_order, чтобы обеспечить бесперебойность многопоточного чтения и записи?

Сообщение Гость »


Согласно https://en.cppreference.com/w/cpp/atomic/memory_order, я обнаружил:


Изображение


Но когда я написал свою собственную тестовую программу, она постоянно сообщала об ошибке:

#include #include #include #include constexpr size_t размер = 32; std::atomic_int32_t arr[размер]; недействительный ThreadFunc1 () { for (size_t я = 0; я = 0; --i) { Assert(arr.load(std::memory_order_acquire) != 0); } } интервал основной() { for (size_t я = 0; я

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