(0) exportieren Drucken
Alle erweitern

Thread.VolatileWrite-Methode (Byte%, Byte)

Aktualisiert: November 2007

Schreibt einen Wert sofort in ein Feld, sodass der Wert für alle Prozessoren des Computers sichtbar ist.

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

public static void VolatileWrite(
	ref byte address,
	byte value
)
public static void VolatileWrite(
	/** @ref */byte address,
	byte value
)
public static function VolatileWrite(
	address : byte, 
	value : byte
)

Parameter

address
Typ: System.Byte%
Das Feld, in das der Wert geschrieben werden soll.
value
Typ: System.Byte
Der zu schreibende 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 stellt VolatileWrite sicher, dass ein in einen Speicherbereich geschriebener Wert sofort für alle Prozessoren sichtbar ist. 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.

9ww2b1f4.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
Anzeigen:
© 2014 Microsoft