OpCodes.Volatile Поле
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Указывает, что адрес на вершине стека вычислений, возможно, является изменяемым и результаты чтения данной области невозможно кэшировать либо невозможно запретить множественные сохранения в эту область.
public: static initonly System::Reflection::Emit::OpCode Volatile;
public static readonly System.Reflection.Emit.OpCode Volatile;
staticval mutable Volatile : System.Reflection.Emit.OpCode
Public Shared ReadOnly Volatile As OpCode
Значение поля
Комментарии
В следующей таблице приведен шестнадцатеричный формат инструкции и формат сборки msil, а также краткий обзор:
| Формат | Формат сборки | Описание |
|---|---|---|
| FE 13 | Летучих. | Указывает, что последующая ссылка на указатель является переменной. |
Переходный режим стека в последовательном порядке:
- Адрес помещается в стек.
volatile. указывает, что адрес является изменяющимся адресом (то есть на него можно ссылаться извне на текущий поток выполнения), а результаты чтения этого расположения не могут быть кэшированы или что несколько хранилищ в этом расположении не могут быть подавлены. Пометка доступа как volatile влияет только на один доступ; другие доступы к тому же расположению должны быть помечены отдельно. Доступ к непостоянным расположениям не требуется выполнять атомарным образом.
Префиксы Unaligned и volatile можно объединять в любом порядке. Они должны непосредственно предшествовать ldindинструкциям , stind, stfldldfld, ldobj, stobj, initblk, или cpblk . Для инструкций volatile и Stsfld разрешен Ldsfld только префикс.
Следующая Emit перегрузка volatile метода может использовать код операции: