OpCodes.Volatile Campo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Specifica che un indirizzo attualmente all'inizio dello stack di valutazione potrebbe essere volatile e che i risultati della lettura del percorso non possono essere memorizzati nella cache o che non è possibile eliminare archivi multipli in tale percorso.
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
Valore del campo
Commenti
La tabella seguente elenca il formato di assembly Esadecimale e MSIL (Microsoft Intermediate Language), insieme a un breve riepilogo dei riferimenti:
Formato | Formato assembly | Descrizione |
---|---|---|
FE 13 | Volatile. | Indica che il riferimento del puntatore successivo è volatile. |
Il comportamento di transizione dello stack, in ordine sequenziale, è:
- Un indirizzo viene inserito nello stack.
volatile
. specifica che l'indirizzo è un indirizzo volatile, ovvero è possibile farvi riferimento esternamente al thread di esecuzione corrente, e i risultati della lettura di tale posizione non possono essere memorizzati nella cache o che non è possibile eliminare più archivi in tale posizione. Contrassegnare un accesso come volatile
influisce solo su tale accesso singolo; gli altri accessi alla stessa posizione devono essere contrassegnati separatamente. Non è necessario eseguire l'accesso a posizioni volatili in modo atomico.
I Unaligned prefissi e volatile
possono essere combinati in entrambi gli ordini. Devono precedere immediatamente un'istruzione ldind
, stind
, ldfld
, stfld
ldobj
, stobj
, initblk
, o cpblk
. Solo il volatile
prefisso è consentito per le Ldsfld istruzioni e Stsfld .
L'overload del metodo seguente Emit può usare il volatile
codice operativo: