我在采访中遇到了一个问题我不确定我是否理解正确。它真的是实时场景吗? 但我正在尽力解释这个问题
创建一个要收集的类(实现IEnumerable),它将有一个数据结构(字典),它将拥有非常大的数据块。用户可以迭代这些数据。但是这个类还应该提供添加和删除项目到数据结构的选项。这么多线程都可以访问它。 因此,当一个线程迭代该集合时,其他线程可能正在添加该集合的项目。因此,迭代的线程也应检索最新添加的项目。
所以课程看起来像
答案 0 :(得分:0)
从版本4.0开始.net已经提供了这种类型的集合。
看看System.Collections.Concurrent-Namespace。
并深入了解ConcurrentBag
和ConcurrentDictionary
类。