Re[4]: Как сделать потокобезопасный Dictionary
От: Аноним  
Дата: 20.10.10 04:01
Оценка:
Здравствуйте, victor_kr, Вы писали:

_>Я не профессионал многопоточности, но возможно, можно сделать так.


_>Создать объект для блокировки:


_>private static object dictionaryLock = new object();


_>Обернуть все обращения к dictionary конструкцией lock (dictionaryLock) {...}.


_>Таким образом вы сделаете работу с dictionary потокобезопасной. Остальная часть кода (длительно выполняющаяся) будет запускаться однократно для каждого ID только после потокобезопасной проверки словаря.


Интересно, а у object вроде бы нет свойств типа "сигнальное состояние". Соотвественно lock( myobject ) наверное управляет состоянием посредством ссылки на object , а сам object при этом не затрагивается . Почему бы в таком случае не лочить сразу статический объект Dictionary , т.е.

lock( myDictionary )
{
  /// работа с  myDictionary.
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.