Есть ли любая гарантия по любому обычно сопровождаемому стандарту (ISO C или C++ или любая из спецификаций POSIX/SUS), что переменная (возможно, отметил энергозависимый), не охраняемый взаимным исключением, которое является...
Я читаю сообщение Joe Duffy об Энергозависимых чтениях и записях и своевременности, и я пытаюсь понять что-то о последнем примере кода в сообщении: в то время как (Взаимно блокировался. CompareExchange (касательно...
Говоря о модели памяти C ++ для параллелизма, язык программирования Страуструпа C ++, 4-е изд., С. 41.2.1, говорит: ... (как и большинство современных аппаратных средств) машина не может загрузить или сохранить что-либо ...
Когда я пишу значение в поле, какие гарантии я получаю относительно того, когда новое значение будет сохранено в оперативной памяти? Например, как я знаю, что процессор не сохраняет новое значение в нем'...
В C и C++ переменная может быть отмечена как энергозависимая, что означает, что компилятор не оптимизирует его, потому что это может быть изменено внешнее к объекту объявления. Есть ли в Delphi эквивалент...
Хранилища - операции освобождения, а загрузки - операции приобретения для обоих. Я знаю, что memory_order_seq_cst предназначена для наложения дополнительного общего порядка для всех операций, но я не могу собрать ...
Действительно ли это верно, что const_cast является просто способом сказать, что компилятор "прекращает стонать, рассматривает это как указатель неконстанты"? Есть ли какие-либо случаи, когда сам const_cast переводится в фактический машинный код
Я ищу ссылку на различиях между моделями памяти, используемыми CLR/JIT.NET на x86/x64/ia64. Я знаю, что существуют некоторые различия между x86 и ia64 (переупорядочение инструкции...
Я проверяю, как компилятор выдает инструкции для многоядерных барьеров памяти на x86_64. Ниже приведен код, который я тестирую с помощью gcc_x86_64_8.3. станд :: атомарный & л; BOOL > флаг {ложь}; инт ...
Существует что-то, что прослушивает меня с моделью памяти Java (если я даже понимаю все правильно). Если существует два потока A и B, нет никаких гарантий, что B будет когда-либо видеть записанное значение...
Таким образом, я читал о модели памяти, которая является частью предстоящего C++ 0x стандарт. Однако я немного смущен некоторыми ограничениями для того, что компилятору позволяют сделать, конкретно...
C ++ 11 представил стандартизированную модель памяти, но что именно это означает? И как это повлияет на программирование на C ++? Эта статья (Гэвин Кларк, которая цитирует Херба Саттера) говорит, что ...
Мандаты модели памяти Java, что запись интервала является атомарной: Таким образом, если Вы запишете значение в него (состоящий из 4 байтов) в одном потоке и считаете его в другом, то Вы получите все байты или ни один, но никогда...
Поток Python представляет проблемы видимости памяти и переупорядочения операторов, как это делает Java? Поскольку я не могу найти какую-либо ссылку на «модель памяти Python» или что-то в этом роде, несмотря на то, что ...
Текущий C++ 0x проектирует состояния на разделе 29.3.9 и 29.3.10, страницы 1111-1112 что в следующем примере://Поток 1 r1 = y.load (memory_order_relaxed); x.store (1, memory_order_relaxed);//...
Я смотрю на реализацию методов VolatileRead/VolatileWrite (использующий Отражатель), и я озадачен чем-то. Это - реализация для VolatileRead: [MethodImpl (...
В черновике C ++ 0x есть понятие ограждений, которое кажется очень отличным от понятия ограждений на уровне процессора / микросхемы, или сказать, что ребята с ядром linux ждут от заборов. Вопрос в том, действительно ли черновик ...
Если я заблокирую std::mutex, всегда ли я буду получать ограничение памяти? Я не уверен, подразумевает ли это или заставляет вас получить забор. Обновление: нашел эту ссылку после комментариев RMF. Многопоточность...
Кто-нибудь может объяснить, что такое std::memory_order на простом английском языке и как их использовать с std::atomic<> ? Я нашел здесь ссылку и несколько примеров, но совсем не понимаю.
http://en....
Основная причина использования атомик над мьютексами заключается в том, что мьютексы дороги, но модель памяти по умолчанию для атомиков - memory_order_seq_cst, не так ли дорого? Вопрос: Может ...
Если у меня есть некоторые (энергонезависимые) данные, привязанные к пользовательскому интерфейсу через модель представления, и я обновляю эти данные из фонового потока, ничего не блокируя, и инициирую событие PropertyChanged, мне гарантировано, что ...
В JLS, §17.4.5. Произойдет -перед Order, в нем говорится, что программа правильно синхронизирована тогда и только тогда, когда все последовательно согласованные выполнения свободны от гонок данных. Согласно обсуждению в...
Хорошо известно, что язык Java позволяет компиляторам переупорядочивать строки скомпилированного кода до тех пор, пока изменение порядка не влияет на семантику кода. Однако от компилятора требуется только ...
В JLS, §17.4.5. Произойдет -перед Order, в нем говорится, что программа правильно синхронизирована тогда и только тогда, когда все последовательно согласованные выполнения свободны от гонок данных. Это только дает нам определение...
В главе 17 JLS вводится понятие :происходит -до согласования. Набор действий A происходит -до согласования, если для всех операций чтения r в A, где W (r )— действие записи, замеченное r, это не...
Предотвращает ли изменение поля класса все проблемы с видимостью памяти в параллельной ситуации? Возможно ли, что для нижнего класса поток, который получает ссылку на объект Test, видит x ...
Глядя на статус реализации Clang и g++ C++11, я заметил кое-что странное :они поддерживают атомарность С++ 11, но не поддерживают модель памяти С++ 11. У меня сложилось впечатление, что у вас должно быть...