OpCodes.Volatile Campo
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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, é:
- 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 ldind
instrução , , ldfld
stind
, stfld
, ldobj
, stobj
, initblk
ou 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: