Ich brauche ein Array mit volatilen Elementen und kann keinen Weg finden, dies zu tun. DieseC# flüchtige Array-Elemente?
private volatile T[] _arr;
bedeutet, dass die _arr Referenz flüchtig ist, aber es ist nichts garantiert über die Elemente im Inneren des _arr Objekt selbst.
Gibt es eine Möglichkeit, die Elemente des _arr als flüchtig zu markieren?
Danke.
EDIT:
Der folgende Code gebaut nach binarycoder Antwort. Ist dieser Code threadsicher?
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; }
}
}
Diese Frage braucht mehr Liebe. –