Thread.VolatileWrite (Método) (Int32%, Int32)
Actualización: noviembre 2007
Escribe inmediatamente un valor en un campo, de manera que el valor sea visible para todos los procesadores del equipo.
Ensamblado: mscorlib (en mscorlib.dll)
public static void VolatileWrite( /** @ref */int address, int value )
public static function VolatileWrite( address : int, value : int )
Parámetros
- address
- Tipo: System.Int32%
Campo en el que se escribirá el valor.
- value
- Tipo: System.Int32
Valor que se va a escribir.
VolatileRead y VolatileWrite se utilizan en casos especiales de sincronización. En circunstancias normales, la instrucción lock de C#, la instrucción SyncLock de Visual Basic o la clase Monitor proporcionan alternativas más sencillas.
En un sistema de varios procesadores, VolatileWrite garantiza que un valor escrito en un lugar de la memoria es visible inmediatamente para todos los procesadores. Esto podría requerir el volcado de datos de las cachés de procesador.
Incluso en un sistema de un único procesador, VolatileRead y VolatileWrite garantizan que un valor se lee o se escribe en la memoria, y no en la caché (por ejemplo, en un registro de procesadores). Así, se pueden utilizar para sincronizar el acceso a un campo que puede actualizar otro subproceso o el hardware.
Una llamada a este método afecta sólo a un único acceso a la memoria. Para proporcionar una sincronización efectiva a un campo, todos los acceso a dicho campo deben utilizar VolatileRead o VolatileWrite.
Nota: |
|---|
En C#, el uso del modificador volatile en un campo garantiza que todos los accesos al campo utilizan VolatileRead o VolatileWrite. |
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 y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.
Nota: