我知道ConcurrentDictionary有一个名为ContainsKey的API,但字典不是我要找的。现在,我正在使用Enumerable的"Contains"扩展方法,但该方法不是线程安全的。那么是否有任何线程安全的集合有一个"包含"的方法?
谢谢。
通常,Contains
操作在并发集合中不是很有用。问题是,一旦您确定集合"包含"或不包含某个对象,您作为该检查结果所做的逻辑就不再有效,因为另一个线程可能已经添加或删除了紧接在后面的项。
ConcurrentDictionary类包含这个方法来实现IDictionary,但实际用途是使用AddOrUpdate
、GetOrAdd
和类似的原子方法。