Ошибка ConcurrentDictionary -Синхронизированы ли фабрики делегатов из GetOrAdd и AddOrUpdate?

Документация ConcurrentDictionaryне содержит 't явное состояние, поэтому я думаю, что мы не можем ожидать, что выполнение делегатовvalueFactoryиupdateValueFactoryбудет синхронизировано(с операциями GetOrAdd ()и AddOrUpdate ()соответственно).

Таким образом, я думаю, что мы не можем реализовать использование ресурсов внутри них, которым требуется параллельный контроль, без ручной реализации нашего собственного параллельного контроля, возможно, просто используя [MethodImpl(MethodImplOptions.Synchronized)]над делегатами.

Я прав? Или тот факт, что ConcurrentDictionaryявляется потокобезопасным -, мы можем ожидать, что вызовы этих делегатов автоматически синхронизируются (потоком -безопасным также )?

33
задан willem 22 July 2016 в 06:47
поделиться