Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Clase Volatile

.NET Framework (current version)
 

Contiene los métodos para realizar operaciones de memoria volátil.

Espacio de nombres:   System.Threading
Ensamblado:  mscorlib (en mscorlib.dll)

System.Object
  System.Threading.Volatile

public static class Volatile

NombreDescripción
System_CAPS_pubmethodSystem_CAPS_staticRead(Boolean)

Lee el valor del campo especificado. En los sistemas que lo requieran, inserta una barrera de memoria que impide que el procesador de reordenación de operaciones de memoria como sigue: si una lectura o escritura aparece después de este método en el código, el procesador no puede mover antes de este método.

System_CAPS_pubmethodSystem_CAPS_staticRead(Byte)

Lee el valor del campo especificado. En los sistemas que lo requieran, inserta una barrera de memoria que impide que el procesador de reordenación de operaciones de memoria como sigue: si una lectura o escritura aparece después de este método en el código, el procesador no puede mover antes de este método.

System_CAPS_pubmethodSystem_CAPS_staticRead(Double)

Lee el valor del campo especificado. En los sistemas que lo requieran, inserta una barrera de memoria que impide que el procesador de reordenación de operaciones de memoria como sigue: si una lectura o escritura aparece después de este método en el código, el procesador no puede mover antes de este método.

System_CAPS_pubmethodSystem_CAPS_staticRead(Int16)

Lee el valor del campo especificado. En los sistemas que lo requieran, inserta una barrera de memoria que impide que el procesador de reordenación de operaciones de memoria como sigue: si una lectura o escritura aparece después de este método en el código, el procesador no puede mover antes de este método.

System_CAPS_pubmethodSystem_CAPS_staticRead(Int32)

Lee el valor del campo especificado. En los sistemas que lo requieran, inserta una barrera de memoria que impide que el procesador de reordenación de operaciones de memoria como sigue: si una lectura o escritura aparece después de este método en el código, el procesador no puede mover antes de este método.

System_CAPS_pubmethodSystem_CAPS_staticRead(Int64)

Lee el valor del campo especificado. En los sistemas que lo requieran, inserta una barrera de memoria que impide que el procesador de reordenación de operaciones de memoria como sigue: si una lectura o escritura aparece después de este método en el código, el procesador no puede mover antes de este método.

System_CAPS_pubmethodSystem_CAPS_staticRead(IntPtr)

Lee el valor del campo especificado. En los sistemas que lo requieran, inserta una barrera de memoria que impide que el procesador de reordenación de operaciones de memoria como sigue: si una lectura o escritura aparece después de este método en el código, el procesador no puede mover antes de este método.

System_CAPS_pubmethodSystem_CAPS_staticRead(SByte)

Lee el valor del campo especificado. En los sistemas que lo requieran, inserta una barrera de memoria que impide que el procesador de reordenación de operaciones de memoria como sigue: si una lectura o escritura aparece después de este método en el código, el procesador no puede mover antes de este método.

System_CAPS_pubmethodSystem_CAPS_staticRead(Single)

Lee el valor del campo especificado. En los sistemas que lo requieran, inserta una barrera de memoria que impide que el procesador de reordenación de operaciones de memoria como sigue: si una lectura o escritura aparece después de este método en el código, el procesador no puede mover antes de este método.

System_CAPS_pubmethodSystem_CAPS_staticRead(UInt16)

Lee el valor del campo especificado. En los sistemas que lo requieran, inserta una barrera de memoria que impide que el procesador de reordenación de operaciones de memoria como sigue: si una lectura o escritura aparece después de este método en el código, el procesador no puede mover antes de este método.

System_CAPS_pubmethodSystem_CAPS_staticRead(UInt32)

Lee el valor del campo especificado. En los sistemas que lo requieran, inserta una barrera de memoria que impide que el procesador de reordenación de operaciones de memoria como sigue: si una lectura o escritura aparece después de este método en el código, el procesador no puede mover antes de este método.

System_CAPS_pubmethodSystem_CAPS_staticRead(UInt64)

Lee el valor del campo especificado. En los sistemas que lo requieran, inserta una barrera de memoria que impide que el procesador de reordenación de operaciones de memoria como sigue: si una lectura o escritura aparece después de este método en el código, el procesador no puede mover antes de este método.

System_CAPS_pubmethodSystem_CAPS_staticRead(UIntPtr)

Lee el valor del campo especificado. En los sistemas que lo requieran, inserta una barrera de memoria que impide que el procesador de reordenación de operaciones de memoria como sigue: si una lectura o escritura aparece después de este método en el código, el procesador no puede mover antes de este método.

System_CAPS_pubmethodSystem_CAPS_staticRead<T>(T)

Lee la referencia de objeto del campo especificado. En los sistemas que lo requieran, inserta una barrera de memoria que impide que el procesador de reordenación de operaciones de memoria como sigue: si una lectura o escritura aparece después de este método en el código, el procesador no puede mover antes de este método.

System_CAPS_pubmethodSystem_CAPS_staticWrite(Boolean, Boolean)

Escribe el valor especificado en el campo especificado. En los sistemas que lo requieran, inserta una barrera de memoria que impide que el procesador de reordenación de operaciones de memoria como sigue: si una lectura o escritura aparece antes que este método en el código, el procesador no puede mover después de este método.

System_CAPS_pubmethodSystem_CAPS_staticWrite(Byte, Byte)

Escribe el valor especificado en el campo especificado. En los sistemas que lo requieran, inserta una barrera de memoria que impide que el procesador de reordenación de operaciones de memoria como sigue: si una lectura o escritura aparece antes que este método en el código, el procesador no puede mover después de este método.

System_CAPS_pubmethodSystem_CAPS_staticWrite(Double, Double)

Escribe el valor especificado en el campo especificado. En los sistemas que lo requieran, inserta una barrera de memoria que impide que el procesador de reordenación de operaciones de memoria como sigue: si una lectura o escritura aparece antes que este método en el código, el procesador no puede mover después de este método.

System_CAPS_pubmethodSystem_CAPS_staticWrite(Int16, Int16)

Escribe el valor especificado en el campo especificado. En los sistemas que lo requieran, inserta una barrera de memoria que impide que el procesador de reordenación de operaciones de memoria como sigue: si una lectura o escritura aparece antes que este método en el código, el procesador no puede mover después de este método.

System_CAPS_pubmethodSystem_CAPS_staticWrite(Int32, Int32)

Escribe el valor especificado en el campo especificado. En los sistemas que lo requieran, inserta una barrera de memoria que impide que el procesador de reordenación de operaciones de memoria como sigue: si una lectura o escritura aparece antes que este método en el código, el procesador no puede mover después de este método.

System_CAPS_pubmethodSystem_CAPS_staticWrite(Int64, Int64)

Escribe el valor especificado en el campo especificado. En los sistemas que lo requieran, inserta una barrera de memoria que impide que el procesador de reordenación de operaciones de memoria como sigue: si una operación de memoria aparece antes que este método en el código, el procesador no puede mover después de este método.

System_CAPS_pubmethodSystem_CAPS_staticWrite(IntPtr, IntPtr)

Escribe el valor especificado en el campo especificado. En los sistemas que lo requieran, inserta una barrera de memoria que impide que el procesador de reordenación de operaciones de memoria como sigue: si una lectura o escritura aparece antes que este método en el código, el procesador no puede mover después de este método.

System_CAPS_pubmethodSystem_CAPS_staticWrite(SByte, SByte)

Escribe el valor especificado en el campo especificado. En los sistemas que lo requieran, inserta una barrera de memoria que impide que el procesador de reordenación de operaciones de memoria como sigue: si una lectura o escritura aparece antes que este método en el código, el procesador no puede mover después de este método.

System_CAPS_pubmethodSystem_CAPS_staticWrite(Single, Single)

Escribe el valor especificado en el campo especificado. En los sistemas que lo requieran, inserta una barrera de memoria que impide que el procesador de reordenación de operaciones de memoria como sigue: si una lectura o escritura aparece antes que este método en el código, el procesador no puede mover después de este método.

System_CAPS_pubmethodSystem_CAPS_staticWrite(UInt16, UInt16)

Escribe el valor especificado en el campo especificado. En los sistemas que lo requieran, inserta una barrera de memoria que impide que el procesador de reordenación de operaciones de memoria como sigue: si una lectura o escritura aparece antes que este método en el código, el procesador no puede mover después de este método.

System_CAPS_pubmethodSystem_CAPS_staticWrite(UInt32, UInt32)

Escribe el valor especificado en el campo especificado. En los sistemas que lo requieran, inserta una barrera de memoria que impide que el procesador de reordenación de operaciones de memoria como sigue: si una lectura o escritura aparece antes que este método en el código, el procesador no puede mover después de este método.

System_CAPS_pubmethodSystem_CAPS_staticWrite(UInt64, UInt64)

Escribe el valor especificado en el campo especificado. En los sistemas que lo requieran, inserta una barrera de memoria que impide que el procesador de reordenación de operaciones de memoria como sigue: si una lectura o escritura aparece antes que este método en el código, el procesador no puede mover después de este método.

System_CAPS_pubmethodSystem_CAPS_staticWrite(UIntPtr, UIntPtr)

Escribe el valor especificado en el campo especificado. En los sistemas que lo requieran, inserta una barrera de memoria que impide que el procesador de reordenación de operaciones de memoria como sigue: si una lectura o escritura aparece antes que este método en el código, el procesador no puede mover después de este método.

System_CAPS_pubmethodSystem_CAPS_staticWrite<T>(T, T)

Escribe la referencia de objeto especificado en el campo especificado. En los sistemas que lo requieran, inserta una barrera de memoria que impide que el procesador de reordenación de operaciones de memoria como sigue: si una lectura o escritura aparece antes que este método en el código, el procesador no puede mover después de este método.

On a multiprocessor system, a volatile write operation ensures that a value written to a memory location is immediately visible to all processors. A volatile read operation obtains the very latest value written to a memory location by any processor. These operations might require flushing processor caches, which can affect performance.

System_CAPS_noteNota

On a uniprocessor system, volatile reads and writes ensure that a value is read or written to memory and not cached (for example, in a processor register). Thus, you can use these operations to synchronize access to a field that can be updated by another thread or by hardware.

Volatile memory operations are for special cases of synchronization, where normal locking is not an acceptable alternative. Under normal circumstances, the C# lock statement, the Visual Basic SyncLock statement, and the T:System.Threading.Monitor class provide the easiest and least error-prone way of synchronizing access to data, and the T:System.Lazy`1 class provides a simple way to write lazy initialization code without directly using double-checked locking.

The M:System.Threading.Volatile.Read(System.Byte@) and M:System.Threading.Volatile.Write(System.Byte@,System.Byte) methods enable functionality that is not supported in languages. For example:

  • Some languages, such as Visual Basic, do not recognize the concept of volatile memory operations. The T:System.Threading.Volatile class provides that functionality in such languages.

    System_CAPS_noteNota

    Calling one of these methods affects only a single memory access. To provide effective synchronization for a field, all access to the field must use M:System.Threading.Volatile.Read(System.Byte@) and M:System.Threading.Volatile.Write(System.Byte@,System.Byte).

  • In C#, using the volatile modifier on a field guarantees that every access to that field uses the M:System.Threading.Volatile.Read(System.Byte@) and M:System.Threading.Volatile.Write(System.Byte@,System.Byte) methods, but the volatile modifier cannot be applied to array elements. The M:System.Threading.Volatile.Read(System.Byte@) and M:System.Threading.Volatile.Write(System.Byte@,System.Byte) methods can be used on array elements.

Plataforma universal de Windows
Disponible desde 8
.NET Framework
Disponible desde 4.5
Biblioteca de clases portable
Se admite en: plataformas portátiles de .NET
Windows Phone Silverlight
Disponible desde 8.0
Windows Phone
Disponible desde 8.1

Cualquier miembro ( Compartido en Visual Basic) estático público de este tipo es seguro para subprocesos. No se garantiza que los miembros de instancia sean seguros para subprocesos.

Volver al principio
Mostrar: