Зачем последовательности выпуска может содержать только чтения-модификационную записи, но не чистая записьC++

Программы на C++. Форум разработчиков
Anonymous
Зачем последовательности выпуска может содержать только чтения-модификационную записи, но не чистая запись

Сообщение Anonymous »


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


Подробнее здесь: https://stackoverflow.com/questions/770 ... pure-write

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