7
ответов

Каков C++ 03 модели памяти для параллелизма?

Какова модель памяти для параллелизма в C++ 03? (И, C++ 11 изменяет модель памяти для поддержки параллелизма лучше?)
вопрос задан: 24 March 2014 17:49
5
ответов

В C/C++ энергозависимые переменные, как гарантируют, будут иметь в конечном счете последовательную семантику между потоками?

Есть ли любая гарантия по любому обычно сопровождаемому стандарту (ISO C или C++ или любая из спецификаций POSIX/SUS), что переменная (возможно, отметил энергозависимый), не охраняемый взаимным исключением, которое является...
вопрос задан: 24 June 2010 21:46
5
ответов

Алгоритм Peterson в Java?

Есть ли реализация в качестве примера алгоритма Peterson для взаимного исключения в Java?
вопрос задан: 28 May 2010 08:52
5
ответов

Делает Взаимно блокировался. CompareExchange используют барьер памяти?

Я читаю сообщение Joe Duffy об Энергозависимых чтениях и записях и своевременности, и я пытаюсь понять что-то о последнем примере кода в сообщении: в то время как (Взаимно блокировался. CompareExchange (касательно...
вопрос задан: 11 November 2009 02:04
4
ответа

Может ли современное оборудование x86 не хранить в памяти ни одного байта?

Говоря о модели памяти C ++ для параллелизма, язык программирования Страуструпа C ++, 4-е изд., С. 41.2.1, говорит: ... (как и большинство современных аппаратных средств) машина не может загрузить или сохранить что-либо ...
вопрос задан: 13 October 2017 13:05
4
ответа

Когда записи/чтения влияют на оперативную память?

Когда я пишу значение в поле, какие гарантии я получаю относительно того, когда новое значение будет сохранено в оперативной памяти? Например, как я знаю, что процессор не сохраняет новое значение в нем'...
вопрос задан: 14 November 2009 14:01
4
ответа

Delphi имеет какой-либо эквивалент C энергозависимой переменной?

В C и C++ переменная может быть отмечена как энергозависимая, что означает, что компилятор не оптимизирует его, потому что это может быть изменено внешнее к объекту объявления. Есть ли в Delphi эквивалент...
вопрос задан: 24 October 2008 01:28
3
ответа

Чем отличаются memory_order_seq_cst и memory_order_acq_rel?

Хранилища - операции освобождения, а загрузки - операции приобретения для обоих. Я знаю, что memory_order_seq_cst предназначена для наложения дополнительного общего порядка для всех операций, но я не могу собрать ...
вопрос задан: 9 September 2012 16:27
3
ответа

const_cast когда-либо вызывает фактическую эмиссию кода?

Действительно ли это верно, что const_cast является просто способом сказать, что компилятор "прекращает стонать, рассматривает это как указатель неконстанты"? Есть ли какие-либо случаи, когда сам const_cast переводится в фактический машинный код
вопрос задан: 20 July 2012 18:55
3
ответа

Различия между x86/x64/ia64 моделями памяти на.NET

Я ищу ссылку на различиях между моделями памяти, используемыми CLR/JIT.NET на x86/x64/ia64. Я знаю, что существуют некоторые различия между x86 и ia64 (переупорядочение инструкции...
вопрос задан: 20 April 2009 12:37
2
ответа

барьер памяти x86 mfence и C ++

Я проверяю, как компилятор выдает инструкции для многоядерных барьеров памяти на x86_64. Ниже приведен код, который я тестирую с помощью gcc_x86_64_8.3. станд :: атомарный & л; BOOL > флаг {ложь}; инт ...
вопрос задан: 19 March 2019 00:53
2
ответа

Модель памяти Java (JSR-133) подразумевают, что ввод монитора сбрасывает кэш (кэши) данных ЦП?

Существует что-то, что прослушивает меня с моделью памяти Java (если я даже понимаю все правильно). Если существует два потока A и B, нет никаких гарантий, что B будет когда-либо видеть записанное значение...
вопрос задан: 30 July 2010 09:18
2
ответа

C++ 0x модель памяти и спекулятивные загрузки/хранилища

Таким образом, я читал о модели памяти, которая является частью предстоящего C++ 0x стандарт. Однако я немного смущен некоторыми ограничениями для того, что компилятору позволяют сделать, конкретно...
вопрос задан: 5 January 2010 07:48
1
ответ

C ++ 11 представил стандартизированную модель памяти. Что это значит? И как это повлияет на программирование на C ++?

C ++ 11 представил стандартизированную модель памяти, но что именно это означает? И как это повлияет на программирование на C ++? Эта статья (Гэвин Кларк, которая цитирует Херба Саттера) говорит, что ...
вопрос задан: 23 November 2018 16:39
1
ответ

Пишет ссылку, атомарную на VMs на 64 бита

Мандаты модели памяти Java, что запись интервала является атомарной: Таким образом, если Вы запишете значение в него (состоящий из 4 байтов) в одном потоке и считаете его в другом, то Вы получите все байты или ни один, но никогда...
вопрос задан: 29 August 2014 21:25
1
ответ

Поток Python: модель памяти и видимость

Поток Python представляет проблемы видимости памяти и переупорядочения операторов, как это делает Java? Поскольку я не могу найти какую-либо ссылку на «модель памяти Python» или что-то в этом роде, несмотря на то, что ...
вопрос задан: 23 August 2010 16:57
1
ответ

C++ 0x: упорядочивание памяти

Текущий C++ 0x проектирует состояния на разделе 29.3.9 и 29.3.10, страницы 1111-1112 что в следующем примере://Поток 1 r1 = y.load (memory_order_relaxed); x.store (1, memory_order_relaxed);//...
вопрос задан: 26 May 2010 12:20
1
ответ

Поток. Реализация VolatileRead

Я смотрю на реализацию методов VolatileRead/VolatileWrite (использующий Отражатель), и я озадачен чем-то. Это - реализация для VolatileRead: [MethodImpl (...
вопрос задан: 20 November 2009 22:43
0
ответов

Ограничения в C ++ 0x, гарантии только на атомные компоненты или память в целом

В черновике C ++ 0x есть понятие ограждений, которое кажется очень отличным от понятия ограждений на уровне процессора / микросхемы, или сказать, что ребята с ядром linux ждут от заборов. Вопрос в том, действительно ли черновик ...
вопрос задан: 25 November 2019 18:18
0
ответов

Создает ли std::mutex забор?

Если я заблокирую std::mutex, всегда ли я буду получать ограничение памяти? Я не уверен, подразумевает ли это или заставляет вас получить забор. Обновление: нашел эту ссылку после комментариев RMF. Многопоточность...
вопрос задан: 19 November 2019 17:06
0
ответов

c++, std::atomic, что такое std::memory_order и как их использовать?

Кто-нибудь может объяснить, что такое std::memory_order на простом английском языке и как их использовать с std::atomic<> ? Я нашел здесь ссылку и несколько примеров, но совсем не понимаю. http://en....
вопрос задан: 2 November 2019 02:04
0
ответов

Является ли синхронизация с `std :: mutex` медленнее, чем с` std :: atomic (memory_order_seq_cst) `?

Основная причина использования атомик над мьютексами заключается в том, что мьютексы дороги, но модель памяти по умолчанию для атомиков - memory_order_seq_cst, не так ли дорого? Вопрос: Может ...
вопрос задан: 8 February 2018 16:56
0
ответов

Свойство модели привязанного вида обновлено в фоновом потоке; всегда ли пользовательский интерфейс будет видеть обновленное значение?

Если у меня есть некоторые (энергонезависимые) данные, привязанные к пользовательскому интерфейсу через модель представления, и я обновляю эти данные из фонового потока, ничего не блокируя, и инициирую событие PropertyChanged, мне гарантировано, что ...
вопрос задан: 23 May 2017 12:26
0
ответов

Пример правильно синхронизированной программы с гонками данных в модели памяти Java

В JLS, §17.4.5. Произойдет -перед Order, в нем говорится, что программа правильно синхронизирована тогда и только тогда, когда все последовательно согласованные выполнения свободны от гонок данных. Согласно обсуждению в...
вопрос задан: 23 May 2017 12:12
0
ответов

Модель памяти Java: компилятор переупорядочивает строки кода

Хорошо известно, что язык Java позволяет компиляторам переупорядочивать строки скомпилированного кода до тех пор, пока изменение порядка не влияет на семантику кода. Однако от компилятора требуется только ...
вопрос задан: 12 April 2016 08:20
0
ответов

Что такое «последовательно согласованные выполнения без гонок данных»?

В JLS, §17.4.5. Произойдет -перед Order, в нем говорится, что программа правильно синхронизирована тогда и только тогда, когда все последовательно согласованные выполнения свободны от гонок данных. Это только дает нам определение...
вопрос задан: 18 August 2012 12:08
0
ответов

Как понять бывает -до последовательного

В главе 17 JLS вводится понятие :происходит -до согласования. Набор действий A происходит -до согласования, если для всех операций чтения r в A, где W (r )— действие записи, замеченное r, это не...
вопрос задан: 15 August 2012 13:49
0
ответов

Предотвращает ли создание поля `volatile` все проблемы с видимостью памяти в параллельной ситуации?

Предотвращает ли изменение поля класса все проблемы с видимостью памяти в параллельной ситуации? Возможно ли, что для нижнего класса поток, который получает ссылку на объект Test, видит x ...
вопрос задан: 19 July 2012 17:22
0
ответов

Что означает атрибут [[supports_dependency]]?

Может ли кто-нибудь объяснить это на языке, понятном простым смертным?
вопрос задан: 2 July 2012 19:18
0
ответов

Как компиляторы C++ могут поддерживать атомарную модель C++11, но не поддерживать модель памяти C++11

Глядя на статус реализации Clang и g++ C++11, я заметил кое-что странное :они поддерживают атомарность С++ 11, но не поддерживают модель памяти С++ 11. У меня сложилось впечатление, что у вас должно быть...
вопрос задан: 2 July 2012 17:52