mfc

wlnlgt 2011-08-17 01:56:57
mfc网络应用程序,服务器端,运行一段时间,该进程在任务管理器里的状态为:不响应。该从哪方面找原因
...全文
94 点赞 收藏 9
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
wlnlgt 2011-09-07
搞定了。呵呵
回复
wlnlgt 2011-09-02
查询数据库,比较浪费时间。我查询一个月(30张表)的数据,要浪费我大概三分钟时间。呜呜。而之前没开新线程时候,这两三分钟,程序就会一直等待这个查询操作完成。现在开了新线程,界面不怎么卡,但是,程序其他功能好不流畅!我想问一下怎么提高数据库查询速度。
回复
iandy2233 2011-09-02
你看一下是不是你的应用程序内存一直在增长?或者就是死锁,死等(用了WaitForSIngleObject等函数,但是一直没等到)了
回复
赵4老师 2011-09-02
任务管理器 进程 查看 选择列 内存使用、虚拟内存大小、句柄数、线程数、USER对象、GDI对象
让你的程序(进程)不退出,循环执行主流程很多遍,越多越好,比如1000000次甚至无限循环,记录以上各数值,再隔至少一小时,越长越好,比如一个月,再记录以上各数值。如果以上两组数值的差较大或随时间流逝不断增加,则铁定有对应资源的资源泄漏!
回复
[Quote=引用 1 楼 demon__hunter 的回复:]
1.死锁,堵塞啥的
2.资源泄漏
.....
[/Quote]

+++1
回复
wlnlgt 2011-09-02
是堵塞哦。程序在做大量数据库查询和将结果写入txt时候,会造成应用程序未响应。等结果写完,程序会自动恢复正常。我新开了个线程做这些操作,好像还是会堵。
回复
weijiangshanwww 2011-08-17
遇到过类似的问题。
你的线程是不是在等服务器资源,用了WHILE?我曾经犯的错误是,WHILE代替不了线程的同步机制。


回复
xunxun 2011-08-17
我记得任务管理器是给程序发SendMessageTimeout之类的
这个函数操作失败或者超时,那么就判定为无响应

so对应到程序,除了1L说的原因,还有计算繁忙也可能是无响应……
回复
机智的呆呆 2011-08-17
1.死锁,堵塞啥的
2.资源泄漏
.....
回复
相关推荐
发帖
其它技术问题
创建于2007-09-28

3849

社区成员

C/C++ 其它技术问题
申请成为版主
帖子事件
创建了帖子
2011-08-17 01:56
社区公告
暂无公告