Re[34]: Безопасность Rust
От: · Великобритания  
Дата: 03.06.19 19:14
Оценка:
Здравствуйте, alex_public, Вы писали:

_>·>Действительно... одной инструкцией меньше, одной больше... Кака разница? В главном-то ты прав!

_>Ох, ну что за детский сад. Ты реально не в курсе что такое mfence? Ну мне даже лень объяснять, так что поясню проще: https://godbolt.org/z/7zWFvr — с точки зрения вопросов атомарности это в точности тот же самых код с вполне корректным std::atomic, что и раньше, только переписанный чуть под другому. Дальше сам додумаешь? )))
А как это объяснишь? https://godbolt.org/z/LLNDkD

_>Да, а ещё можешь там вообще убрать упоминания про std::atomic (оставить только голый int), но добавить вызов "atomic_thread_fence(std::memory_order_seq_cst);" и насладиться результатом.

Ну логично. Это собственно что .store по дефолту делает. И?

_>И да, можешь ещё попереключать другие компиляторы/архитектуры с кодом по ссылке выше — может тогда поймёшь, что сохранение порядка записи/чтения на разных процессора задаётся по разному (не только отдельной инструкций, как в x86, но и например модифицированными операциями записи типа str/stlr), но к вопросу атомарности записи это отношения не имеет.

Вот и попереключай.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.