volatile DateTime

Поскольку DateTime не может быть объявлен как изменчивый, это правильно?:

        private DateTime _time;
        public DateTime Time
        {
            get
            {
                Thread.MemoryBarrier();
                return _time;
            }
            set
            {
                _time = value;
                Thread.MemoryBarrier();
            }
        }

К этому свойству можно получить доступ из разных потоков, поэтому Я хочу, чтобы они всегда получали последнюю версию, без использования конкуренции (блокировки).

РЕДАКТИРОВАТЬ:

  • У меня есть коллекция элементов, которые сложно создать, у каждого из них есть свойство DateTime с именем CreationTime, указывающее, когда это элемент был создан. Он инициализируется значением DateTime.UtcNow.
  • Каждый раз, когда осуществляется доступ к элементу, это свойство обновляется до DateTime.UtcNow.
  • Существует поток, который своевременно выполняется в поточном таймере, который проверяет, если (DateTime.UtcNow + 1 час)> item.CreationTime, если true, он удаляет элемент.

Я хочу убедиться, что когда "поток удаления" входит в коллекцию, все элементы имеют дату и время последнего доступа «последнего доступа», поэтому я могу избежать повторного создания элемента только потому, что в кэше хранится значение в течение пары миллисекунд: D

Заранее спасибо.

10
задан vtortola 28 January 2011 в 16:41
поделиться