Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo Thread.VolatileWrite (Int32, Int32)

 

Data di pubblicazione: ottobre 2016

Scrive immediatamente un valore in un campo, in modo che tale valore possa essere visibile a tutti i processori nel computer.

Spazio dei nomi:   System.Threading
Assembly:  mscorlib (in mscorlib.dll)

public static void VolatileWrite(
	ref int address,
	int value
)

Parametri

address
Type: System.Int32

Campo in cui deve essere scritto il valore.

value
Type: System.Int32

Valore da scrivere.

VolatileRead e VolatileWrite per casi speciali di sincronizzazione. In circostanze normali, il linguaggio c# lock istruzione, Visual Basic SyncLock istruzione e la Monitor classe rappresentano alternative più semplici.

In un sistema multiprocessore, VolatileWrite garantisce che un valore scritto in una posizione di memoria è immediatamente visibile a tutti i processori. Questo potrebbe essere necessario svuotare la cache del processore.

Anche in un sistema monoprocessore, VolatileRead e VolatileWrite garantiscono che un valore letto o scritto nella memoria e non memorizzato nella cache (ad esempio, in un registro del processore). Pertanto, è possibile utilizzare tali per sincronizzare l'accesso a un campo che può essere aggiornato da un altro thread o dall'hardware.

Questo metodo influisce solo un singolo accesso alla memoria. Per garantire la sincronizzazione efficace di un campo, è necessario utilizzare tutti gli accessi al campo VolatileRead o VolatileWrite.

System_CAPS_noteNota

In c#, utilizzando il volatile modificatore su un campo garantisce che tutti gli accessi a tale campo utilizzano VolatileRead o VolatileWrite.

.NET Framework
Disponibile da 1.1
Torna all'inizio
Mostra: