我需要枚举通用的IList <>对象.列表的内容可能会更改,如在其他线程中添加或删除,这将使用"已修改集合;枚举操作可能无法执行"来终止我的枚举.
在IList <>上做线程安全foreach的好方法是什么?最好的是没有克隆整个列表.无法克隆列表引用的实际对象.
克隆列表是最简单,最好的方法,因为它可以确保您的列表不会从您的下方更改.如果列表太大而无法克隆,请考虑在读取/写入之前必须对其进行锁定.