Можете ли вы заблокировать общий словарь?
-
03-07-2019 - |
Вопрос
Или вам всегда следует создавать какой-то другой объект блокировки?
Решение
Да, приведите его к IDictionary и зафиксируйте .SyncRoot
:
Generic.Dictionary<int, int> dic = new Generic.Dictionary<int, int>();
lock (((IDictionary)dic).SyncRoot)
{
// code
}
Благодаря этому источник для информации.
Конечно, поточно-ориентированный словарь тоже был бы хорош, как предлагали другие.
Другие советы
Вы можете заблокировать любой объект, который пожелаете (кроме типов значений).Его рекомендуемые хотя для блокировки объекта .SyncRoot.
Не связан с StackOverflow