Necesito una matriz con elementos volátiles y no puedo encontrar la forma de hacerlo.C# elementos de matriz volátil?
private volatile T[] _arr;
Esto significa que la referencia _arr es volátil, sin embargo, no garantiza nada acerca de los elementos dentro del propio objeto _arr.
¿Hay alguna manera de marcar los elementos del disco como volátiles?
Gracias.
EDIT:
El siguiente código construido de acuerdo a la respuesta de BinaryCoder. ¿Este código es seguro para la ejecución de subprocesos?
public class VolatileArray<T>
{
private T[] _arr;
public VolatileArray(int length)
{
_arr = new T[length];
}
public VolatileArray(T[] arr)
{
_arr = arr;
}
public T this[int index]
{
get
{
T value = _arr[index];
Thread.MemoryBarrier();
return value;
}
set
{
Thread.MemoryBarrier();
_arr[index] = value;
}
}
public int Length
{
get { return _arr.Length; }
}
}
Esta pregunta necesita más amor. –