Вопросы с тегом 'memory-model'
По вопросам моделей упорядочения памяти на уровне языка программирования (выше уровня ISA или машинного языка).
8
С++ 11 представил стандартизованную модель памяти. Что это значит? И как это повлияет на программирование на C++?
C++ 11 представила стандартизованную модель памяти, но что именно это означает? И как это повлияет на программирование C++? Эта статья (Гэвин Кларк, цитирующая Херба Саттера) говорит, что, Модель памяти означает, что код C++ теперь имеет стандар...
11 июн. '11 в 23:30
2
Что означает атрибут [[carry_dependency]]?
Может ли кто-нибудь объяснить это на языке, который понимают простые смертные?
20 июн. '11 в 12:39
4
Как "приобретать" и "потреблять" порядки памяти различаются, а когда "потреблять" предпочтительнее?
Стандарт С++ 11 определяет модель памяти (1.7, 1.10), которая содержит порядки памяти, которые, грубо говоря, "последовательно последовательны", "приобретают", "потребляют", "освобождают" и "расслабляют", Точно так же программа правильна, только если...
26 окт. '13 в 17:54
4
Что делает `std:: kill_dependency`, и зачем мне его использовать?
Я читал о новой модели памяти С++ 11, и я пришел к функции std::kill_dependency (& sect; 29.3/14-15). Я изо всех сил пытаюсь понять, почему я когда-нибудь захочу его использовать.
Я нашел пример в предложении N2664, но это мало помогло.
Он нач...
22 авг. '11 в 16:16
3
Что означает каждая память?
Я прочитал главу, и мне это не понравилось. Я все еще не понимаю, каковы различия между каждым порядком памяти. Это мои текущие предположения, которые я понял после прочтения гораздо более простых http://en.cppreference.com/w/cpp/atomic/memory_order
...
10 сент. '12 в 6:39
1
Является написанием эталонного атома на 64-битных виртуальных машинах
Модель Java-модели требует, чтобы запись int была атомарной: То есть, если вы пишете в нее значение (состоящее из 4 байтов) в одном потоке и читаете ее в другом, вы получите все байты или нет, но не 2 новых байта и 2 старых байта или таковых.
Это н...
05 апр. '10 в 1:18
1
Каковы сходства между моделью памяти Java и моделью памяти С++ 11?
Новый стандарт С++ вводит понятие модели памяти. Были уже вопросы об этом, что это значит, как это изменит способ написания кода в С++ и т.д.
Мне интересно узнать, как модель памяти С++ относится к более старой, хорошо известной модели памяти Java (...
09 сент. '11 в 14:47
7
Что такое модель памяти С++ 03 для concurrency?
Что такое модель памяти для concurrency в С++ 03?
(И, улучшает ли С++ 11 модель памяти для поддержки concurrency лучше?)
21 окт. '08 в 4:19
3
Как компиляторы С++ поддерживают атомарную С++ 11, но не поддерживают модель памяти С++ 11
При взгляде на статус внедрения Clang и g++ С++ 11 я заметил что-то странное:
они поддерживают атомы С++ 11, но они не поддерживают модель памяти С++ 11.
У меня сложилось впечатление, что у вас должна быть модель памяти С++ 11 для использования ато...
02 июл. '12 в 12:40
2
С++ 11. синхронизируется с std:: mutex медленнее, чем с std:: atomic (memory_order_seq_cst)?
Основная причина использования атомистики над мьютексами - это то, что мьютексы дороги. но с моделью памяти по умолчанию для atomics, являющейся memory_order_seq_cst, разве это не так дорого?
Вопрос: может ли одновременная программа с использованием...
30 апр. '13 в 20:20
3
Модель памяти Dalvik такая же, как Java?
Является ли модель памяти Dalvik такой же, как Java? Меня особенно интересует, являются ли чтения и записи ссылочных и не long/не double примитивных переменных атомарными, но я также хотел бы знать, существуют ли различия между моделями памяти двух ...
03 янв. '11 в 20:28
5
Может ли JIT свернуть два изменчивых чтения как один в определенных выражениях?
Предположим, что a volatile int a. Один поток выполняет
while (true) {
a = 1;
a = 0;
}
а другой поток
while (true) {
System.out.println(a+a);
}
Теперь, было ли незаконным компилятор JIT испускать сборку, соответствующую 2*a вмест...
19 дек. '14 в 13:15
3
Чем отличаются memory_order_seq_cst и memory_order_acq_rel?
Магазины - это операции выпуска, а нагрузки - операции для обоих. Я знаю, что memory_order_seq_cst предназначен для наложения дополнительного общего порядка для всех операций, но я не могу построить пример, где это не так, если все memory_order_seq_...
09 сент. '12 в 16:26
3
Создает ли std:: mutex забор?
Если я заблокирую std::mutex, я всегда получу забор памяти? Я не уверен, что это подразумевает или принуждает вас к тому, чтобы получить забор.
Update:
Нашел эту ссылку, следуя комментариям RMF.
Многопоточное программирование и видимость памяти
23 июн. '12 в 20:56
2
Имеет ли пустая синхронизация (это) {} какое-либо значение для видимости памяти между потоками?
Я прочитал это в предыдущем комментарии к StackOverflow:
Но если вы хотите быть в безопасности, вы можете добавить простой синхронизированный (это) {} в конце вашего @PostConstruct [method]
[обратите внимание, что переменные НЕ были волатильными]...
28 мая '14 в 8:43