Поскольку DateTime
нельзя объявить изменчивым, это правильно?:
private DateTime _time;
public DateTime Time
{
get
{
Thread.MemoryBarrier();
return _time;
}
set
{
_time = value;
Thread.MemoryBarrier();
}
}
Это свойство можно получить из разных потоков, поэтому я хочу, чтобы они всегда получали последнюю версию, без использования конкуренции (блокировки).
EDIT:
- У меня есть набор труднодоступных элементов, каждый из которых имеет свойство DateTime с именем CreationTime, указывающее, когда этот элемент был создан. Он инициализирован DateTime.UtcNow.
- При каждом доступе элемента это свойство обновляется до DateTime.UtcNow.
- Существует поток, который выполняется своевременно в поточном таймере, который проверяет (DateTime.UtcNow + 1 час) > item.CreationTime, если true, он удаляет элемент.
Я хочу убедиться, что, когда в сборник входит "поток делегирования", все элементы имеют на нем свой последний "последний доступ" DateTime, поэтому я могу избежать создания элемента снова только потому, что в кеше было значение для пара миллисекунд: D
Спасибо заранее.