首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

请教一般线程挂死的原因都有哪些

2012-01-13 
请问一般线程挂死的原因都有哪些?我有一个线程,会从一个bufferlist里面读取数据帧来处理。在线程中用了Wait

请问一般线程挂死的原因都有哪些?
我有一个线程,会从一个bufferlist里面读取数据帧来处理。在线程中用了WaitForMutiObjects来等待这个BufferList的m_event。

但是有时候线程感觉像挂死了,不再处理BufferList中的数据帧了。也不知道是什么原因,而且这个问题不重现,偶尔会发生一次。非得把进程重启才能解决。

请各位大大讲讲一般的线程挂死有哪些情况?谢谢!

[解决办法]
一般是同步没做好,WaitForMutiObjects死等。
[解决办法]
主要是同步没做好, 程序逻辑问题
比如CRITICAL_SECTION,
A.lock, B.lock, A.unlock, B.unlock,这个顺序就很可能造成死锁


-------------------------------------------------------
广告:VC/WinAPI 网络/多线程讨论 QQ群, 群号:41356711
[解决办法]
可能是照成死锁了,检查一下
[解决办法]
挂死的时候用Debugger Attach住,一看就明白了,尤其是Windbg/ntsd 等。

热点排行