Может ли комбинация чистой нагрузки и хранилища моделировать работу RMW?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Может ли комбинация чистой нагрузки и хранилища моделировать работу RMW?

Сообщение Anonymous »

В программе, если все операции с атомарным объектом являются операциями RMW, в соответствии с правилом [atomic.order] p10 мы получаем гарантию, что изменение в порядке модификации этого атомарного объекта может быть прочитано только одним RMW. операция. На основе этой гарантии мы можем создавать критические разделы.
Например:

Код: Выделить всё

#include 
#include 
#include 
int main(){
std::atomic state = {0};
int protect_v = 0;
std::thread t1([&](){
int expected = 0;
if(state.compare_exchange_strong(expected,1,std::memory_order::release,std::memory_order::acquire)){
protect_v  = 2;
}else{
std::cout

Подробнее здесь: [url]https://stackoverflow.com/questions/79183275/can-the-combination-of-pure-load-and-a-store-model-the-rmw-operation[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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