Закэшировать результат метода
От: Spiceman  
Дата: 25.11.10 15:01
Оценка:
Что-то я туплю. Как проще всего сделать, чтобы метод при первом обращении отработал целиком, а при повторных обращениях брал результат первого обращения?

Например,

private static Value _value;

public static Value GetValue()
{
  if (_value != null)
    return _value;

  // длительные вычисления _value

  return _value;
}


Проблема в многопоточности. Если два потока одновременно ывзовут метод, то value будет вычисляться два раза. Без залочивания всего метода тут можно как-то обойтись?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.