假设我有一个Dictionary<string, string>.字典public static在我的控制台程序中声明.
如果我正在使用线程,我想从一个线程做到foreach这一点Dictionary但同时另一个线程想要将项添加到字典中.这会导致这里的错误,因为我们Dictionary在另一个线程中使用foreach循环运行它时无法修改它们.
为了绕过这个问题,我在字典上的每个操作上的同一个静态对象上创建了一个锁定语句.
这是绕过这个问题的最佳方法吗?我Dictionary可以非常大,我可以有很多线程想要在它上面.就目前而言,事情可能非常缓慢.