KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I need an array with volatile items, and can't find a way to do that. private volatile T[] _arr; This means that the _arr reference is volatile, however it does not guarantee anything about the items inside the _arr object itself. Is there any way to mark the _arr's Items as volatile? Thanks. EDIT: The following code built according to binarycoder's answer. Is this code thread-safe to use? 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; } } }
Tags (comma-separated)
Save Edits
Cancel