Свързани въпроси 'memory-model'
Объркване относно грешка при внедряване в деструктора shared_ptr
Току-що видях лекцията на Хърб Сътър: C++ and Beyond 2012: Herb Sutter - atomic‹> Weapons, 2 of 2
Той показва грешка в изпълнението на std::shared_ptr деструктор:
if( control_block_ptr->refs.fetch_sub(1, memory_order_relaxed ) == 0 )...
825 изгледи
schedule
10.11.2023
Ограничения за подреждане на паметта на x86 архитектура
В своята велика книга „C++ Concurrency в действие“ Антъни Уилямс пише следното (страница 309):
Например при архитектури x86 и x86-64 операциите за атомарно зареждане са винаги еднакви, независимо дали са маркирани memory_order_relaxed или...
979 изгледи
schedule
21.11.2023
Паралелни записи на една и съща стойност
Имам програма, която ражда множество нишки, които могат да запишат точно същата стойност в точно същото място в паметта:
std::vector<int> vec(32, 1); // Initialize vec with 32 times 1
std::vector<std::thread> threads;
for (int i = 0 ;...
632 изгледи
schedule
16.11.2023
Кога записите/четенията засягат основната памет?
Когато напиша стойност в поле, какви гаранции получавам относно това кога новата стойност ще бъде запазена в основната памет? Например, как да разбера, че процесорът не запазва новата стойност в личния си кеш, а е актуализирал основната памет? Друг...
433 изгледи
schedule
25.12.2023
Виждат ли се всички странични ефекти от задачите на изпълнителя след invokeAll?
Ако изпратя някои задачи на Executor с помощта на invokeAll , гарантирам ли ми, че изпратената нишка вижда всички странични ефекти от изпълнението на задачата, дори ако не извикам get() на всяко от върнатите Future s?
От практическа гледна...
461 изгледи
schedule
06.01.2024
Какво означава всеки memory_order?
Прочетох една глава и не ми хареса много. Все още не съм наясно какви са разликите между всеки ред на паметта. Това е текущата ми спекулация, която разбрах, след като прочетох много по-простия http://en.cppreference.com/w/cpp/atomic/memory_order...
29321 изгледи
schedule
10.05.2024