Diese Dokumentation wurde archiviert und wird nicht länger gepflegt.

Thread.VolatileRead-Methode (Object)

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.

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

public static Object VolatileRead (
	ref Object address
)
public static Object VolatileRead (
	/** @ref */ Object address
)
Nicht zutreffend.

Parameter

address

Das zu lesende Feld.

Rückgabewert

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# stellt der volatile-Modifizierer in einem Feld sicher, das bei jedem Zugriff auf das Feld VolatileRead oder VolatileWrite verwendet wird.

Windows 98, Windows Server 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

Microsoft .NET Framework 3.0 wird unter Windows Vista, Microsoft Windows XP SP2 und Windows Server 2003 SP1 unterstützt.

.NET Framework

Unterstützt in: 3.0, 2.0, 1.1
Anzeigen: