После того, как операция освобождения A выполняется над атомарным объектом M,
самая длинная непрерывная подпоследовательность порядка модификации M, которая
состоит из:
- Запись выполняется тем же потоком, что и A. (до C++20)
- Атомарные операции чтения-изменения-записи выполняются для М по какому-нить.
Известен как последовательность выпусков, возглавляемая А.
- Вопрос 1: Зачем нам нужна концепция последовательности выпуска?
О1: См. Что означает «последовательность выпуска»? - Вопрос 2. Удален ли первый элемент в C++20?
- Вопрос 3. Почему операции чтения-изменения-записи подходят для последовательности освобождения, а чистые операции записи — нет?
Что особенного в расслабленных RMW, которые позволяют им формироваться цепочка, не являющаяся хранилищем загрузки и выпуска? Либо с точки зрения компьютерной архитектуры, либо с точки зрения формализма языка C++? Или, другими словами, как аппаратное обеспечение может поддерживать семантику последовательности выпуска для атомарных RMW, но иметь чистые хранилища, которые разрывают соединения?
Подробнее здесь: https://stackoverflow.com/questions/770 ... pure-write