(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.VolatileWrite-Methode (Int64, Int64)

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 long address,
	long value
)

Parameter

address
Typ: System.Int64
Das Feld, in das der Wert geschrieben werden soll.
value
Typ: System.Int64
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.

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