lock = std::lock_guard(mtx);
b = false;
}
a.load(std::memory_order_relaxed);
Может ли мемори модель или компилятор реоредрить стор и лоад переменной "а" в таком контексте?
Ты хочешь гарантировать, что в А начала положиться фолс, потом в Б и потом из А возьметься фолс?
Хочу гарантировать ордер для "А" только, на Б все равно(просто хотел подчеркнуть что там какой-то стор другой переменной под мьютексом)
Не должен
Может. Relaxed не даёт гарантий ордеринга, если мне не изменяет память.
load обязательно прочитает false, тут же тупо program order.
Обсуждают сегодня