Compartilhar via


OpCodes.Volatile Campo

Definição

Especifica que um endereço atualmente sobre a pilha de avaliação pode ser volátil e os resultados da leitura daquele local não podem ser armazenados em cache ou não é possível suprimir vários repositórios para esse local.

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 

Valor do campo

Comentários

A tabela a seguir lista o formato de assembly hexadecimal e MSIL (Microsoft Intermediate Language) da instrução, juntamente com um breve resumo de referência:

Formatar Formato de assembly Descrição
FE 13 Volátil. Indica que a referência de ponteiro subsequente é volátil.

O comportamento de transição da pilha, em ordem sequencial, é:

  1. Um endereço é enviado por push para a pilha.

volatile. especifica que o endereço é um endereço volátil (ou seja, ele pode ser referenciado externamente ao thread atual de execução) e os resultados da leitura desse local não podem ser armazenados em cache ou que vários repositórios para esse local não podem ser suprimidos. Marcar um acesso como volatile afeta apenas esse acesso único; outros acessos ao mesmo local devem ser marcados separadamente. O acesso a locais voláteis não precisa ser executado atomicamente.

Os Unaligned prefixos e volatile podem ser combinados em qualquer ordem. Eles devem preceder imediatamente uma ldindinstrução , , ldfldstind, stfld, ldobj, stobj, initblkou cpblk . Somente o volatile prefixo é permitido para as Ldsfld instruções e Stsfld .

A sobrecarga do método Emit a seguir pode usar o volatile opcode:

Aplica-se a