ICollection的同步

时间:2009-10-23 11:22:38

标签: c# collections

观察

的定义时

ICollection extends IEnumerable. It provides size and synchronization members in addition to enumeration.

这里的同步是否代表集合的同步,当它被共享时 通过多个线程?。用简单的例子解释我如何实际使用“ICollection.IsSynchronized Property”。

感谢。

1 个答案:

答案 0 :(得分:1)

如果IsSynchronized为真,则该集合应该是线程安全的。但是,您仍然可能必须使用锁定多个列表操作(例如在插入之前查找和索引或其他),在这种情况下,您可以使用SyncRoot属性。

但请注意,两个成员仅存在于非通用ICollection接口中。较新的(.NET 2)ICollection<T>接口不提供它们,坦率地说,通常你会锁定自己而不是使用同步列表。