6
ответов

AtomicInteger.lazyset () - задержка видимости [дубликат]

Я читал различные сообщения о методе lazySet () на AtomicInteger, который в-short означает, что видимость заданного значения может быть сразу не распространена на другие потоки (это не полный ...
вопрос задан: 3 September 2014 18:34
6
ответов

Переупорядочение компилятора вокруг взаимоисключающих границ?

Предположим, что у меня есть свои собственные неподставляемые функции LockMutex и UnlockMutex, которые используют некоторое надлежащее взаимное исключение - такое как повышение - внутри. Как компилятор будет знать для не переупорядочения других операций с
вопрос задан: 22 April 2010 22:38
6
ответов

Синхронизация потока 101

Ранее я написал некоторый очень простой многопоточный код, и я всегда знал что в любое время могло быть контекстное переключение прямо в середине того, что я делаю, таким образом, я всегда охранял...
вопрос задан: 31 March 2010 10:55
5
ответов

Зачем нам нужен Thread.MemoryBarrier ()?

В «C # 4 в двух словах», автор показывает что этот класс может писать 0 иногда без MemoryBarrier, хотя я не могу воспроизвести в моем Core2Duo: публичный класс Foo {int _answer; bool _complete; ...
вопрос задан: 14 August 2012 20:57
5
ответов

Барьеры памяти в пространстве пользователя? (Linux, x86-64)

Это легко к барьерам памяти аппарата на стороне ядра: МБ макросов, wmb, юань, и т.д. всегда на месте благодаря заголовкам ядрa Linux. Как выполнить это на стороне пользователя?
вопрос задан: 26 July 2009 20:32
4
ответа

Как неявные барьеры памяти JVM ведут себя при объединении в цепочку конструкторов?

Что касается моего более раннего вопроса на не полностью созданных объектах, у меня есть второй вопрос. Как Jon Skeet указал, существует неявный барьер памяти в конце конструктора, который делает...
вопрос задан: 23 May 2017 11:58
3
ответа

Барьеры памяти по сравнению со взаимно блокируемыми операциями

Я пытаюсь улучшить свое понимание барьеров памяти. Предположим, что у нас есть слабая модель памяти, и мы адаптируем алгоритм Dekker. Действительно ли возможно заставить его работать правильно под слабой моделью памяти...
вопрос задан: 21 July 2010 23:57
2
ответа

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

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

Память Барьер по заявлению блокировки

Я недавно читал о барьерах памяти и проблеме переупорядочения, и теперь у меня есть некоторая путаница в этом Рассмотрим следующий сценарий: закрытый объект _object1 = null; закрытый объект _object2 = ...
вопрос задан: 15 May 2015 21:01
2
ответа

Действительно ли барьеры памяти необходимы для совместно использованных неизменных данных атомарного подсчета ссылок?

У меня есть некоторые неизменные структуры данных, что я хотел бы справиться с подсчетами ссылок использования, совместно используя их через потоки в системе SMP. Вот то, на что похож код выпуска: освободите avocado_release (...
вопрос задан: 8 April 2010 10:57
2
ответа

Как я Понимаю Барьеры памяти Чтения и Энергозависимый

Некоторые языки обеспечивают энергозависимый модификатор, который описан как выполнение "барьера памяти чтения" до чтения памяти, это поддерживает переменную. Барьер памяти чтения обычно описывается как...
вопрос задан: 24 November 2009 02:39
1
ответ

Когда использовать блокировку по сравнению с MemoryBarrier в.NET

В.NET ключевое слово блокировки является синтаксическим сахаром вокруг Монитора. Войдите и Монитор. Выход, таким образом, Вы могли сказать, что эта блокировка кода (блокировщик) {//Делает что-то}, совпадает с Монитором. Войдите (блокировщик); попробуйте {
вопрос задан: 23 May 2017 10:29
1
ответ

Зачем мне барьер памяти?

C # 4 в Nutshell (настоятельно рекомендуется, кстати) использует следующий код для демонстрации концепции MemoryBarrier (при условии, что A и B выполнялись в разных потоках): class Foo {int _answer; bool ...
вопрос задан: 9 October 2012 09:01
1
ответ

Блокировка мьютексов функций достаточно без изменчивости?

Мы с коллегой пишем программное обеспечение для различных платформ, работающих на x86, x64, Itanium, PowerPC и других серверных процессорах 10-летней давности. Мы только что обсудили, могут ли мьютексные функции, такие как .. .
вопрос задан: 9 October 2012 09:00
1
ответ

Непротиворечивость Java LockSupport памяти

Вопрос Java 6 API. Вызов LockSupport.unpark (поток) имеют происхождение - перед отношениями к возврату из LockSupport.park в просто непаркуемом потоке? Я сильно подозреваю, что ответ да...
вопрос задан: 19 March 2010 04:55
0
ответов

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

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

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

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

Когда следует использовать _mm_sfence _mm_lfence и _mm_mfence

Я прочитал «Руководство по оптимизации Intel для архитектуры Intel». Однако я до сих пор не знаю, когда мне использовать _mm_sfence () _mm_lfence () _mm_mfence () Может ли кто-нибудь объяснить, когда эти ...
вопрос задан: 9 June 2018 15:57
0
ответов

Является ли вызов функции эффективным барьером памяти для современных платформ?

В кодовой базе, которую я просмотрел, я нашел следующую идиому. void notify (struct act_t act) { write (act.pipe, "M", 1); } // поток A отправляет данные в поток B void send(byte *data) { global.data = ...
вопрос задан: 28 November 2017 03:26
0
ответов

Самый быстрый встроенный -сборочный спинлок

Я пишу многопоточное приложение на С++, где производительность имеет решающее значение. Мне нужно использовать много блокировок при копировании небольших структур между потоками, для этого я решил использовать спин-блокировки....
вопрос задан: 23 May 2017 12:10
0
ответов

Generatoare de bariere de memorie

Citind tutorialul de threading al lui Joseph Albahari, următoarele sunt menționate ca generatoare de bariere de memorie: Instrucțiunea de blocare a C # (Monitor.Enter / Monitor.Exit) Toate metodele din clasa Interlocked ...
вопрос задан: 23 May 2017 12:02
0
ответов

Синхронизация потоков. Как именно блокировка делает доступ к памяти «правильным»?

Прежде всего, я знаю, что блокировка {} - это синтетический сахар для класса Monitor. (о, синтаксический сахар) Я играл с простыми проблемами многопоточности и обнаружил, что не могу полностью понять, как lockng ...
вопрос задан: 23 May 2017 11:53
0
ответов

Volatile and Thread.MemoryBarrier in C#

To implement a lock free code for multithreading application I used volatile variables, Theoretically: The volatile keyword is simply used to make sure that all threads see the most updated value of a ...
вопрос задан: 21 March 2015 19:23
0
ответов

В OpenCL, что делает mem_fence () в отличие от барьера ()?

В отличие от барьера () (который, я думаю, я понимаю), mem_fence () не влияет на все элементы в рабочей группе. В спецификации OpenCL сказано (раздел 6.11.10) для mem_fence (): Заказы на загрузку и сохранение работы -...
вопрос задан: 22 August 2013 13:02
0
ответов

Каково поведение __faststorefence?

Что касается этого вопроса, меня интересуют только x86 и x86-64. Для MSVC 2005 в документации для __faststorefence говорится: «Гарантирует, что каждое предыдущее хранилище будет глобально видимым перед любым ...
вопрос задан: 6 September 2012 22:25
0
ответов

Каковы примеры барьеров памяти в C++?

Я вижу, что блокировка мьютексов С++ 11 не является недействительной блокировкой ()volatile. Как компилятор узнает, какие функции являются барьерами памяти, а какие нет? Все ли функции являются барьерами, даже если они не изменчивы? Что...
вопрос задан: 29 July 2012 13:49
0
ответов

барьер памяти и очистка кеша

Есть ли арки, где реализован барьер памяти даже при сбросе кеша? Я читал, что барьер памяти влияет только на переупорядочивание ЦП, но я читал утверждения, связанные с барьерами памяти :, что гарантирует...
вопрос задан: 1 July 2012 14:47
0
ответов

Барьеры памяти и TLB

Барьеры памяти гарантируют, что кэш данных будет согласованным. Однако гарантирует ли это, что TLB будет согласованным? Я наблюдаю проблему, когда JVM (java 7 update 1) иногда падает ...
вопрос задан: 3 May 2012 05:11
0
ответов

Требуется ли барьер памяти, если второй поток ожидает завершения первого?

Предположим, что поток Alpha записывает в переменную A без блокировки. Второй поток Beta ожидает завершения Alpha, а затем по очереди считывает переменную A. Возможно ли, что содержимое A ...
вопрос задан: 10 February 2012 09:39
0
ответов

Модель памяти Заказ и видимость?

Я пытался искать детали на этом, я даже прочитал стандарт на Mutexes и Atomics ... но все же я не мог понять C + +11 Гарантии видимости памяти памяти. Из того, что я понимаю, очень ...
вопрос задан: 27 January 2012 19:16