(0) exportieren Drucken
Alle erweitern

Thread.VolatileRead-Methode (Object%)

Aktualisiert: November 2007

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
)
public static function VolatileRead(
	address : Object
) : Object

Parameter

address
Typ: System.Object%
Das zu lesende Feld.

Rückgabewert

Typ: System.Object
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.

ex9kh13f.alert_note(de-de,VS.90).gifHinweis:

In C# stellt der volatile-Modifizierer in einem Feld sicher, das bei jedem Zugriff auf das Feld VolatileRead oder VolatileWrite verwendet wird.

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

.NET Framework und .NET Compact Framework unterstützen nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

.NET Framework

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

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