多线程中未对集合进行同步操作引发空引用异常

这两天写一个小程序,里面用到线程来操作数据,线程中操作了一个静态的 Dictionary 对象,但是有时候操作这个对象的时候会提示一个 NullReferenceException 的异常,刚开始以为是添加至这个 Dictionary 的对象是个空,但是经过检查和调试,发现要被添加的对象不可能为空,正百思不得其解的时候,就动用去加一段同步的代码,结果一加上去异常就没有了。

从而可以知道是没有同步操作, Dictionary 内部引发了错误,但是提示一个  NullReferenceException 的错误,真是误导开发人员啊。

原文地址:https://www.cnblogs.com/kuku/p/2197988.html