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

V>·> mfence

V>Запрет переупорядочивания, т.е. пример мимо.
V>Это всего-лишь артефакт дополнительного требования для сериализации доступа.
V>Для слабых требований mfence не нужен.
V>А сильные модели содержат куда как больше вариантов, чем один mfence из x86/x86_x64.
Какие модели? Это просто один из вариантов реализации (особенность gcc). Второй — xchg.

Вообще непонятно с чем ты споришь. alex_public утверждал, что инструкции для atomic vs non-atimic одинаковые. Это оказалось враньём.

V>·> xchg dword ptr [rip + v], eax

V>Это про когерентную синхронизацию данных из разных потоков, тоже не имеет отношения к факту атомарной записи значения.
С т.з. ЯП С/С++ — имеет.

V>·>Никакой синхронизации, говоришь?

V>При чём тут синхронизация? ))
Т.е. "__sync_synchronize" по-твоему к синхронизации отношения не имеет?

V>Курить, что есть атомарность.

Так кури:

Во втором случае используются специальные программные средства синхронизации, с помощью которых осуществляется блокировка разделяемого ресурса; после блокировки выполняется операция, которую требуется выполнить атомарно

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