1
에 열거? 아니면 같이 잠금을 사용해야합니까 :ConcurentDictionary
lock(padLock)
{
foreach (Subscription sub in subscriptions[ex].Values)
{
....
}
}
올바르게 작동하게하려면 어떻게해야합니까?
에 열거? 아니면 같이 잠금을 사용해야합니까 :ConcurentDictionary
lock(padLock)
{
foreach (Subscription sub in subscriptions[ex].Values)
{
....
}
}
올바르게 작동하게하려면 어떻게해야합니까?
는 그래서 그래, 당신은 당신이 그것을 반복하는 동안 다른 스레드가ConcurrentDictionary 의 모든 public 및 protected 구성원은 스레드로부터 안전하며 여러 스레드에서 동시에 사용할 수 있습니다.
Values
수집을 수정하는 경우에도 별도의 잠금 장치없이 안전합니다.
이 수정 됨 즉, 새 쌍을 추가하거나 사전에 기존 값을 변경한다는 의미입니다.