- одна операция с семантикой получения-освобождения?< /p>
- Или, как загрузка получения, за которой следует сохранение хранилища, с дополнительной гарантией, что другие загрузки и сохранения в x будут наблюдаться оба или ни один?
Код: Выделить всё
std::atomic x, y;
void thread_A() {
x.exchange(1, std::memory_order_acq_rel);
y.store(1, std::memory_order_relaxed);
}
void thread_B() {
// These two loads cannot be reordered
int yy = y.load(std::memory_order_acquire);
int xx = x.load(std::memory_order_acquire);
std::cout
Подробнее здесь: [url]https://stackoverflow.com/questions/65568185/for-purposes-of-ordering-is-atomic-read-modify-write-one-operation-or-two[/url]
Мобильная версия