У меня есть обработка Singleton класса. Подписываются и отменяются запросы от разных клиентов, работающих в разных потоках. Синглтон содержит коллекцию подписчиков. Перед добавлением или удалением класс должен подтвердить, что элемент еще не был добавлен или удален.Какая потокобезопасная коллекция подходит для этого сценария?
Обычно я реализую это, используя вызов List или HashSet Содержит перед каждой операцией, но если я хочу использовать один из новых классов в пространстве имен System.Collections.Concurrent, единственным вариантом, который я вижу, является использование ConcurrentDictionary с фиктивным значением.
Это мой лучший вариант или есть что-то, что я пропускаю? Кстати, производительность на самом деле не является фактором для рассмотрения.
"и в отличие от комплектов, сумки поддерживают дубликаты". vs. «Перед добавлением или удалением класс должен проверить, что элемент еще не был добавлен или удален». – CodesInChaos