草庐IT

concurrentDictionary

全部标签

c# - ConcurrentDictionary.TryAdd 会失败吗?

这更像是一个学术问题......但可以ConcurrentDictionary.TryAdd失败?如果是,在什么情况下以及为什么? 最佳答案 是的,这是条件(frommsdn):ArgumentNullException-当键为空引用时OverflowException-当达到最大元素数时如果具有相同键的元素已经存在,则返回false重申一下,这与并发无关。如果您担心两个线程同时插入一个项目,那么可能会发生以下情况:如果键不同,两个插入都可以正常工作。一个插入工作正常并返回true,另一个插入失败(无一异常(exception))并

c# - 在 ConcurrentDictionary AddOrUpdate 中为更新部分添加什么

我正在尝试使用Dictionary重写一些代码以使用ConcurrentDictionary。我查看了一些示例,但在实现AddOrUpdate函数时仍然遇到问题。这是原始代码:dynamica=HttpContext;DictionaryuserDic=this.HttpContext.Application["UserSessionList"]asDictionary;if(userDic!=null){if(useDic.ContainsKey(authUser.UserId)){userDic.Remove(authUser.UserId);}}else{userDic=newD