一个线程向ConcurrentDictionary中添加、更新、删除数据,另一个则从中读取数据。
但是在线程读取时,总会报错。
在输出框中的
引发的异常:“System.ArguementNullException”(位于mscorlib.dll中),值不能为null
按道理在foreach中,不会出现值不为null的异常
相关问题
- Sorting 3 numbers without branching [closed]
- Graphics.DrawImage() - Throws out of memory except
- Why am I getting UnauthorizedAccessException on th
- 求获取指定qq 资料的方法
- How to know full paths to DLL's from .csproj f
ConcurrentDictionary这个鬼东西有个ToArray()的方法,返回值为键值对的形式,在这返回值里面会保存ConcurrentDictionary这个鬼东西那个时刻的快照,然后发现里面的数据有问题,淦
加个判断当那个值为null时进断点,看下当前diconary的数据是否正确,
你这个错误很有可能是数据问题导致的,和多线程操作ConcurrentDictionary应该没有多大关系。
建议写个demo发来
读的时候,用TryGetValue方法,添加或更新用AddOrUpdate方法