小编Dee*_*pak的帖子

为什么SynchronizedCollection <T>没有锁定IEnumerable.GetEnumerator()

为什么SynchronizedCollection<T>在显式实现中没有获得对SyncObj的锁定 IEnumerable.GetEnumerator()

  IEnumerator IEnumerable.GetEnumerator()
    {
        return this.items.GetEnumerator();
    }
Run Code Online (Sandbox Code Playgroud)

隐式实现确实获得了对SyncOb的锁定(由反射器验证).

在此集合的foreach循环期间可能会出现问题.一个线程可能获得了一个锁,另一个可能尝试使用foreach读取它?

c#-3.0

5
推荐指数
1
解决办法
1511
查看次数

标签 统计

c#-3.0 ×1