Re[7]: Memory barrier не могу понять что это
От: samius Япония http://sams-tricks.blogspot.com
Дата: 06.04.23 05:28
Оценка:
Здравствуйте, Философ, Вы писали:

Ф>Здравствуйте, samius, Вы писали:


Ф>>>volatile в шарпе не генерирует никаких барьеров.

S>>Если так, то с помощью какоюй таблетки обеспечивается семантика, заявленная в спеке C# в общем случае, а не про Intel X86/X64?

Ф>с помощью Thread.VolatileRead() и Thread.VolatileWrite()

Разумеется, работа с volatile полями не приводит к задействованию этих методов. И, прямо в документации по предъявленным ссылкам, написано, что барьеры вставляются при необходимости.

S>>С оговорками про конкретную платформу — да. А вообще есть другие мнения. А так же указание полного барьера в методах VolatileRead/Write.


Ф>Фишка в том, что барьеры нужны там где они нужны: там где есть опасность перестановок — нужны, там где пофиг — не нужны.

А разве кто-то утверждал обратное? Что они не нужны там, где нужны и нужны там, где не нужны?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.