我有一個Dictionary<int, bool>
LINQ和字典線程安全
我有一個InvalidOperationException collection was modified
錯誤被處理,但難倒我爲什麼。
我想是的,唯一的代碼是以下:
lock (lockObject)
{
AllowInputs[InputNumber] = true;
}
if (AllowInputs.Values.All(x => x == true))
{
//Do stuff
}
如果一個線程是鎖定的語句修改值內而另一個線程正在執行All(x => x == true)
這將導致"Collection was modified"
errror?
謝謝,我將移動lock語句的結尾以包含All方法調用 – Jon