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

Требуется ли барьер памяти, если второй поток ожидает завершения первого?
Предположим, что поток Alpha записывает в переменную A без блокировки. Второй поток Beta ожидает завершения Alpha , затем по очереди считывает переменную A . Возможно ли, что содержимое A не будет свежим? Можно ли отложить запись в...
772 просмотров

У сна нет семантики синхронизации?
Спецификация Java 17.3 Sleep and Yield Важно отметить, что ни Thread.sleep, ни Thread.yield не имеют семантики синхронизации . В частности, компилятору не нужно сбрасывать записи, кэшированные в регистрах, в разделяемую память перед...
144 просмотров
schedule 14.11.2022

Программирование без блокировок: переупорядочивание и семантика порядка памяти
Я пытаюсь найти свои ноги в программировании без блокировки. Прочитав разные объяснения семантики упорядочения памяти, я хотел бы прояснить, какое возможное переупорядочение может произойти. Насколько я понял, инструкции могут быть переупорядочены...
329 просмотров

Понимание std :: атомарных барьеров памяти
Я хочу понять, как работают барьеры памяти в C ++. Например, в этом случае я использую std :: atomic: #include <iostream> #include <atomic> int main() { std::atomic<int> a; int n = load();//returns 1 or other value...
1856 просмотров
schedule 26.03.2024

чем отличается строго упорядоченная архитектура от плохо упорядоченной архитектуры
Мы знаем, что X86_64 — строго упорядоченная архитектура. Наоборот, ARM64 или PowerPC или... Alpha плохо упорядочены. В чем разница между ними? Влияет ли это на график процесса? Сделает ли это исполняемую программу более непредсказуемой, если...
155 просмотров
schedule 22.11.2023

C #: использование изменчивых полей с блокировкой
Насколько я понимаю, все Interlocked API в .NET вводят полный забор памяти. Тем не менее, я все еще вижу много примеров, когда volatile , который представляет собой полузаборы, используется в сочетании с Interlocked . Примером этого является...
51 просмотров