两个工作中遇到问题
2012-12-07 22:17
267 查看
这两天上班遇到两个问题,还花了两天时间解决,结果只需要加两行代码就能搞定的问题,现在记录下来。
第一个,内存泄露:有个服务,供用户调用MapInfo生成地图,开始时候用的好好的,但跑两天后,就出现乱码,初步怀疑是内存泄露。开始的时候用了dispose啊,close啊什么的试了下,没有搞定,后来加了句GC.Collect() ,问题就解决了。
都知道C#会自动回收垃圾,所以内存泄露的情况一般不会出现,如果是访问量大的服务加上这么一句,能够让系统回收内存,效果很明显。
第二个,多线程同时访问GDI,有个接收程序,收到更新信息后,就去更新图片里面的内容,一次更新一个还可以,更新多个的时候就提示当前对象正在被使用,开始的时候加了Lock,好了一点,但当数据量大的时候还是会出现这个问题,后来在Lock里面加了个Thread.Sleep(100),让线程睡眠0.1秒,图片资源得到释放,就可以了。感谢一个同事提供了这个方法,不然我都不知道怎么办。
这两个问题都属于C/S开发容易出现的,以前没有遇到过,具体原因我也不是很清楚,记录下来,以后备查!
第一个,内存泄露:有个服务,供用户调用MapInfo生成地图,开始时候用的好好的,但跑两天后,就出现乱码,初步怀疑是内存泄露。开始的时候用了dispose啊,close啊什么的试了下,没有搞定,后来加了句GC.Collect() ,问题就解决了。
都知道C#会自动回收垃圾,所以内存泄露的情况一般不会出现,如果是访问量大的服务加上这么一句,能够让系统回收内存,效果很明显。
第二个,多线程同时访问GDI,有个接收程序,收到更新信息后,就去更新图片里面的内容,一次更新一个还可以,更新多个的时候就提示当前对象正在被使用,开始的时候加了Lock,好了一点,但当数据量大的时候还是会出现这个问题,后来在Lock里面加了个Thread.Sleep(100),让线程睡眠0.1秒,图片资源得到释放,就可以了。感谢一个同事提供了这个方法,不然我都不知道怎么办。
这两个问题都属于C/S开发容易出现的,以前没有遇到过,具体原因我也不是很清楚,记录下来,以后备查!
相关文章推荐
- 今天工作中遇到的两个问题。
- 【记录】工作中遇到的两个小问题
- 工作中遇到的两个数学问题的记录
- 工作中遇到的两个问题-正则以及console
- 工作中遇到的两个编码问题
- 记工作中遇到的两个Python字符串问题
- Liferay遇到的两个问题
- JQuery实战中遇到的两个小问题$(document).ready() 、bind函数的参数传递问题
- 工作中遇到的问题
- 运行拷贝的scrapy项目遇到的两个问题的解答
- 工作中Tortoise SVN遇到的一个问题,Commit failed (details follow): Authorization failed
- fedora 16下配置nfs、ftp服务遇到的两个问题总结,备忘备查,转载请注明出处,商业用途请联系本人
- 工作中遇到的php写csv文件问题
- Multibin 实现遇到的两个问题
- 工作中遇到的问题收集--数据库
- 2015年工作中遇到的问题:21-30(这10个问题很有价值)
- css/js(工作中遇到的问题)-6
- 2013-5-25 1. “已有打开的与此命令相关联的 DataReader,必须首先将它关闭。"问题. 上周在项目开发中,遇到这样的一个问题,在前台展示页,两个WebPart调用后台的AP
- Unity 导出 Android 时遇到的两个小问题
- 把工作中遇到的问题和解决方法记录下来!