【发布时间】:2012-08-30 20:21:45
【问题描述】:
我无法理解在我的代码中使用 lock() 语句的方式。我有几个像这样的静态集合:
private static Dictionary<string, User>() Users = new Dictionary<string, User>();
我不断地添加、删除、更新和阅读这个集合。我意识到当我添加、删除或更新时,我应该锁定Users,但是当我从集合中读取时,我必须锁定它吗?执行诸如搜索键并在字典中返回User 之类的正确方法是什么?我在考虑创建一个新的 Dictionary 实例,然后将用户复制到该实例,然后从中读取,或者我可以直接从中读取吗?
【问题讨论】:
标签: c# asp.net concurrency