Вопросы по теме 'memory-fences'

C++0X memory_order без заборов, приложений, чипов, поддерживающих
В ответ на мой предыдущий вопрос класс atomic<T> определяет большинство операций с параметром memory_order . В отличие от забора этот порядок памяти влияет только на тот атом, с которым он работает. Предположительно, используя несколько...
530 просмотров
schedule 29.06.2022

Неисправное выполнение и ограждения памяти
Я знаю, что современные процессоры могут работать не по порядку, однако они всегда удаляют результаты по порядку, как описано в Википедии. «Вне очереди процессоры заполняют эти« слоты »вовремя другими готовыми инструкциями, затем переупорядочивают...
3339 просмотров
schedule 24.12.2022

использование электрического забора в программе на С++
В последнее время я экспериментировал с Electric Fence и не могу понять, как использовать его с кодом C++. Вот пример: // test.cpp #include <cstdlib>...
10118 просмотров

Понимание атомарных переменных и операций
Я снова и снова читал об атомных типах и операциях boost и std (c ++ 11), и все же я не уверен, что понимаю это правильно (а в некоторых случаях я вообще этого не понимаю). Итак, у меня есть несколько вопросов по этому поводу. Мои источники,...
1987 просмотров

Режим синхронизации в блоке, защищенном мьютексом
http://www.boost.org/doc/libs/1_58_0/doc/html/atomic/usage_examples.html В примере «Singleton с дважды проверенным шаблоном блокировки» из приведенных выше примеров повышения необходимы ли memory_order_consume для второй загрузки _instance и...
79 просмотров
schedule 11.06.2022

Обеспечение видимости обновления данных для других потоков с помощью ограждений
У меня два вопроса: рассмотрим два потока, один из которых вносит изменения в общие данные, а другой работает с общими данными. Оба потока захватывают мьютекс, прежде чем что-либо делать с данными. Как я могу гарантировать, что поток, работающий с...
52 просмотров

Предотвращает ли изменчивость, характерная для MS, переупорядочивание аппаратных инструкций
Из документации : Специально для Microsoft Когда используется параметр компилятора /volatile:ms — по умолчанию, когда нацелены архитектуры, отличные от ARM, — компилятор генерирует дополнительный код для поддержания порядка ссылок на...
240 просмотров