【发布时间】:2011-12-15 07:06:54
【问题描述】:
我有一个单例类处理来自在不同线程中运行的不同客户端的订阅和取消订阅请求。单例包含订阅者的集合。在添加或删除之前,该类需要验证该元素尚未被添加或删除。
通常我会在每个操作之前使用 List 或 HashSet 调用 Contains 来实现这一点,但如果我想使用 System.Collections.Concurrent 命名空间中的新类之一,我看到的唯一选择是使用 ConcurrentDictionary具有虚拟值。
这是我最好的选择还是我忽略了什么?顺便说一句,性能并不是真正需要考虑的因素。
【问题讨论】:
标签: .net collections thread-safety