Я не поклонник методов, прикрепленных к ConcurrentDictionary. AddOrUpdate требует функции, а GetOrAdd добавляет ее, когда вы просто ищете ключ для получения значения. Поэтому я хочу использовать его как обычный словарь (в целях безопасности я использую containsKey)
В документации сказано: «Для хранения пары ключ/значение в словаре безоговорочно и перезаписать значение уже существующего ключа", используйте метод установки индексатора: словарь[ключ] = newValue.
Но это эта операция все еще потокобезопасна? В комментариях внизу говорится: «Все общедоступные и защищенные члены ConcurrentDictionary являются поточно-ориентированными и могут использоваться одновременно из нескольких потоков». Но я не на 100% уверен, что они считают, что сюда включен указанный выше сеттер.
Подробнее здесь: https://stackoverflow.com/questions/586 ... foobar-baz
Безопасно ли добавлять потоки в ConcurrentDictionary, используя foo[bar] = baz? ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Кто может объяснить `foo, bar = foo[bar] = [1,2,3], 2`? (питон) [дубликат]
Anonymous » » в форуме Python - 0 Ответы
- 72 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Разъяснение об указателе на константу Foo, где Foo является структурой [дубликат]
Anonymous » » в форуме C++ - 0 Ответы
- 45 Просмотры
-
Последнее сообщение Anonymous
-