多线程中未对集合进行同步操作引发空引用异常
2011-10-02 14:09
246 查看
这两天写一个小程序,里面用到线程来操作数据,线程中操作了一个静态的 Dictionary 对象,但是有时候操作这个对象的时候会提示一个 NullReferenceException 的异常,刚开始以为是添加至这个 Dictionary 的对象是个空,但是经过检查和调试,发现要被添加的对象不可能为空,正百思不得其解的时候,就动用去加一段同步的代码,结果一加上去异常就没有了。
从而可以知道是没有同步操作, Dictionary 内部引发了错误,但是提示一个 NullReferenceException 的错误,真是误导开发人员啊。
从而可以知道是没有同步操作, Dictionary 内部引发了错误,但是提示一个 NullReferenceException 的错误,真是误导开发人员啊。
相关文章推荐
- 一个异常引发的集合多线程思考
- 对写文本日志进行同步,防止并发操作IO异常
- Collections集合静态工具可以让非同步进行同步操作的源码分析
- spring利用set操作对引用类型和集合类型进行注入值
- JAVA多线程中,原子操作的概念——原子操作真的不需要进行同步控制吗?
- nodejs中使用async来对异步操作进行同步,避免多个异步同时启动引发连接错误
- 多线程操作数据库时为了防止数据的增删改的混乱该在数据库层还是程序层面上进行同步?
- 迭代器和集合共同操作引发的异常
- 多线程操作集合时如何保证集合的线程安全性
- JAVA之ArrayList迭代时对集合进行增改操作
- 在多线程中进行UI操作
- C#实现多级子目录Zip压缩解压实例 NET4.6下的UTC时间转换 [译]ASP.NET Core Web API 中使用Oracle数据库和Dapper看这篇就够了 asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程 asp.net core异步进行新增操作并且需要判断某些字段是否重复的三种解决方案 .NET Core开发日志
- 通过进程ID查看进程信息,调出进程线程集合,查看进程模块,并对其进行操作!
- 用Navicat进行数据结构同步操作
- 小型自动化运维--expect脚本之指定ip,指定文件进行同步操作(一)
- Java5 多线程(九)--jdk1.5同步集合
- 【软件系肖潇】解决使用DButils进行jdbc多表联合操作时抛出sql异常的问题
- 【转载】JAVA多线程读取、操作List集合
- 使用二级指针在多线程进行刷新操作
- 关于多线程操作同步对象造成死锁的解决方式(一)