OpCodes.Volatile Feld

Definition

Gibt an, dass es sich bei einer Adresse, die sich momentan oben auf dem Auswertungsstapel befindet, möglicherweise um eine flüchtige Adresse handelt und daher die aus diesem Speicherort gelesenen Ergebnisse nicht zwischengespeichert werden können oder mehrere für diesen Speicherort ausgeführte Speichervorgänge nicht unterdrückt werden können.

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 

Feldwert

Hinweise

In der folgenden Tabelle sind das Hexadezimal- und MSIL-Assemblyformat (Microsoft Intermediate Language) der Anweisung sowie eine kurze Referenzzusammenfassung aufgeführt:

Format Assemblyformat BESCHREIBUNG
FE 13 Flüchtige. Gibt an, dass der nachfolgende Zeigerverweis volatil ist.

Das Stapelübergangsverhalten in sequenzieller Reihenfolge lautet:

  1. Eine Adresse wird auf den Stapel gepusht.

volatile. gibt an, dass es sich bei der Adresse um eine flüchtige Adresse handelt (d. h. sie kann extern auf den aktuellen Ausführungsthread verwiesen werden) und dass die Ergebnisse des Lesens dieses Speicherorts nicht zwischengespeichert werden können oder dass mehrere Speicher an diesem Speicherort nicht unterdrückt werden können. Das Markieren eines Zugriffs als volatile wirkt sich nur auf diesen einzelnen Zugriff aus. Andere Zugriffe auf denselben Speicherort müssen separat gekennzeichnet werden. Der Zugriff auf flüchtige Standorte muss nicht atomar erfolgen.

Die Unaligned Präfixe und volatile können in beiden Reihenfolgen kombiniert werden. Sie müssen sofort einer ldindAnweisung , , stind, stfldldfld, ldobj, stobj, , initblkoder cpblk vorangestellt werden. Für die Anweisungen und Stsfld ist nur das Ldsfldvolatile Präfix zulässig.

Die folgende Emit Methodenüberladung kann den volatile opcode verwenden:

Gilt für: