Поделиться через


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 Летучих. Указывает, что последующая ссылка на указатель является переменной.

Переходный режим стека в последовательном порядке:

  1. Адрес помещается в стек.

volatile. указывает, что адрес является изменяющимся адресом (то есть на него можно ссылаться извне на текущий поток выполнения), а результаты чтения этого расположения не могут быть кэшированы или что несколько хранилищ в этом расположении не могут быть подавлены. Пометка доступа как volatile влияет только на один доступ; другие доступы к тому же расположению должны быть помечены отдельно. Доступ к непостоянным расположениям не требуется выполнять атомарным образом.

Префиксы Unaligned и volatile можно объединять в любом порядке. Они должны непосредственно предшествовать ldindинструкциям , stind, stfldldfld, ldobj, stobj, initblk, или cpblk . Для инструкций volatile и Stsfld разрешен Ldsfld только префикс.

Следующая Emit перегрузка volatile метода может использовать код операции:

Применяется к