OpCodes.Volatile Pole
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Określa, że adres obecnie na szczycie stosu oceny może być niestabilny, a wyniki odczytu tej lokalizacji nie mogą być buforowane lub że nie można pominąć wielu magazynów w tej lokalizacji.
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
Wartość pola
Uwagi
W poniższej tabeli wymieniono format zestawu szesnastkowy i microsoft intermediate language (MSIL) instrukcji wraz z krótkim podsumowaniem referencyjnym:
Format | Format zestawu | Opis |
---|---|---|
FE 13 | Lotnych. | Wskazuje, że kolejne odwołanie wskaźnika jest nietrwałe. |
Zachowanie przejściowe stosu w kolejności sekwencyjnej to:
- Adres jest wypychany do stosu.
volatile
. Określa, że adres jest adresem nietrwałym (czyli można odwoływać się zewnętrznie do bieżącego wątku wykonywania) i wyniki odczytu tej lokalizacji nie mogą być buforowane ani że nie można pominąć wielu magazynów w tej lokalizacji. Oznaczanie dostępu, co volatile
ma wpływ tylko na ten pojedynczy dostęp; inne dostępy do tej samej lokalizacji muszą być oznaczone oddzielnie. Nie trzeba wykonywać niepodzielnego dostępu do nietrwałych lokalizacji.
Prefiksy Unaligned i volatile
można połączyć w jednej kolejności. Muszą one natychmiast poprzedzać instrukcję ldind
, , stfld
ldobj
ldfld
stobj
stind
initblk
lub .cpblk
volatile
Tylko prefiks jest dozwolony dla instrukcji Ldsfld iStsfld.
Następujące Emit przeciążenie metody może używać volatile
kodu opcode: