. net框架中的哪个线程安全集合有一个“Contains”作为它的API之一



我知道ConcurrentDictionary有一个名为ContainsKey的API,但字典不是我要找的。现在,我正在使用Enumerable的"Contains"扩展方法,但该方法不是线程安全的。那么是否有任何线程安全的集合有一个"包含"的方法?

谢谢。

通常,Contains操作在并发集合中不是很有用。问题是,一旦您确定集合"包含"或不包含某个对象,您作为该检查结果所做的逻辑就不再有效,因为另一个线程可能已经添加或删除了紧接在后面的项。

ConcurrentDictionary类包含这个方法来实现IDictionary,但实际用途是使用AddOrUpdateGetOrAdd和类似的原子方法。

最新更新