2
我有一個包含字符的Dictionary<>
集合。該集合有多個線程不斷添加和刪除項目。使用字典初始化一個新的List<>
集合需要鎖定?C# - 從現有字典創建列表
示例代碼:
List<Character> charsToUpdate = new List<Character>(this.manager.characters.Values);
我有一個包含字符的Dictionary<>
集合。該集合有多個線程不斷添加和刪除項目。使用字典初始化一個新的List<>
集合需要鎖定?C# - 從現有字典創建列表
示例代碼:
List<Character> charsToUpdate = new List<Character>(this.manager.characters.Values);
是。當您使用此構造函數構造List<T>
時,它將枚舉Dictionary。這不是線程安全的。
請確保同步(鎖定)字典的訪問權限,以及「添加和刪除字典」中的「多個線程」。