(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

Thread.VolatileRead-Methode (UInt16)

Liest den Wert eines Felds. Der Wert entspricht dem letzten von einem Prozessor in dem Computer geschriebenen Wert, unabhängig von der Anzahl der Prozessoren und dem Zustand des Prozessorcaches.

Diese API ist nicht CLS-kompatibel. 

Namespace:  System.Threading
Assembly:  mscorlib (in mscorlib.dll)

[CLSCompliantAttribute(false)]
public static ushort VolatileRead(
	ref ushort address
)

Parameter

address
Typ: System.UInt16
Das zu lesende Feld.

Rückgabewert

Typ: System.UInt16
Der letzte von einem Prozessor in das Feld geschriebene Wert.

VolatileRead und VolatileWrite sind für Sonderfälle bei der Synchronisierung vorgesehen. Unter normalen Bedingungen stellen die lock-Anweisung in C#, die SyncLock-Anweisung in Visual Basic und die Monitor-Klasse einfachere Alternativen bereit.

In einem Multiprozessorsystem ruft VolatileRead den letzten von einem Prozessor in einen Speicherbereich geschriebenen Wert ab. Dazu muss möglicherweise der Prozessorcache geleert werden.

Auch bei einem Einprozessorsystem stellen VolatileRead und VolatileWrite sicher, dass ein Wert aus dem Speicher gelesen oder in den Speicher geschrieben und nicht zwischengespeichert wird (z. B. in einem Prozessorregister). Sie können so den Zugriff auf ein Feld synchronisieren, das von einem anderen Thread oder von der Hardware aktualisiert werden kann.

Das Aufrufen dieser Methode wirkt sich nur auf Einzelspeicherzugriffe aus. Um eine effektive Synchronisierung für ein Feld bereitzustellen, muss bei jedem Zugriff auf das Feld VolatileRead oder VolatileWrite verwendet werden.

HinweisHinweis

In C# mithilfe des Modifizierers volatile auf ein Feld wird sichergestellt, dass der gesamte Zugriff auf dieses Feld VolatileRead oder VolatileWrite verwendet.

.NET Framework

Unterstützt in: 4.5, 4, 3.5, 3.0, 2.0, 1.1

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

Es werden nicht alle Versionen sämtlicher Plattformen von .NET Framework unterstützt.. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Community-Beiträge

HINZUFÜGEN
Microsoft führt eine Onlineumfrage durch, um Ihre Meinung zur MSDN-Website zu erfahren. Wenn Sie sich zur Teilnahme entscheiden, wird Ihnen die Onlineumfrage angezeigt, sobald Sie die MSDN-Website verlassen.

Möchten Sie an der Umfrage teilnehmen?
Anzeigen:
© 2014 Microsoft