为什么SynchronizedCollection<T>在显式实现中没有获得对SyncObj的锁定 IEnumerable.GetEnumerator()
IEnumerator IEnumerable.GetEnumerator()
{
return this.items.GetEnumerator();
}
Run Code Online (Sandbox Code Playgroud)
隐式实现确实获得了对SyncOb的锁定(由反射器验证).
在此集合的foreach循环期间可能会出现问题.一个线程可能获得了一个锁,另一个可能尝试使用foreach读取它?