社区
Windows SDK/API
帖子详情
多线程线程的挂死问题!
jimi830429
2009-01-04 09:51:11
我的有一个工程是多线程的,开了3个线程,有两个是接收处理TCP消息的,另外一个是处理UDP消息的接收的,但是最近发现 在运行的过程中(这个程序是一直运行的,有可能一直要运行半个月)有时候其中某个或者某几个线程会挂起,至于挂起的原因由于对这方面不熟悉,还请各位老鸟们指点一下,线程自动挂起会有哪些方面的原因?该从哪方面去查找线程挂起的原因,谢谢!
...全文
597
10
打赏
收藏
多线程线程的挂死问题!
我的有一个工程是多线程的,开了3个线程,有两个是接收处理TCP消息的,另外一个是处理UDP消息的接收的,但是最近发现 在运行的过程中(这个程序是一直运行的,有可能一直要运行半个月)有时候其中某个或者某几个线程会挂起,至于挂起的原因由于对这方面不熟悉,还请各位老鸟们指点一下,线程自动挂起会有哪些方面的原因?该从哪方面去查找线程挂起的原因,谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
米线老鼠
2010-01-28
打赏
举报
回复
增加日志是个好方法,
个人感觉是收到数据包出错,引发处理错误。
运行半个月出现很可能是这样,加强出错监控。
ocean1004
2009-02-26
打赏
举报
回复
[Quote=引用 5 楼 zhengcom 的回复:]
遇到这种问题比较难查,我推荐给线程加入看门狗的程序,定时往一个健壮的检查线程中做写操作,而检查线程要是一定时间
没有收到写操作就重新启动线程,这样虽然找不到问题但可以解决问题。
[/Quote]
麻烦问下看门狗程序是什么
mrzhjy
2009-02-26
打赏
举报
回复
网络通讯问题不是简单的问题,你的线程是挂起还是退出,任务管理器里一看就知道了,或是增加一些必要的日志输出,来查找原因;因为网络的复杂性,所以很难说一个正常的线程为什么会出现异常,通常的解决办法就是运行一段可靠的时间重启线程,或是在出现多少次可捕捉异常后重启线程;如果重启线程仍不能解决问题(有些问题由于堆积太多重启也不行),那么就自动重启程序(退出并重启动自已)来解决,总是可以的.
mrzhjy
2009-02-26
打赏
举报
回复
网络通讯问题不是简单的问题,你的线程是挂起还是退出,任务管理器里一看就知道了,或是增加一些必要的日志输出,来查找原因;因为网络的复杂性,所以很难说一个正常的线程为什么会出现异常,通常的解决办法就是运行一段可靠的时间重启线程,或是在出现多少次可捕捉异常后重启线程;如果重启线程仍不能解决问题(有些问题由于堆积太多重启也不行),那么就自动重启程序(退出并重启动自已)来解决,总是可以的.
我不懂电脑
2009-01-27
打赏
举报
回复
楼上方法很好,是容错的方法,要避错的话,除了上面几位的,着重检查内存操作,看是否引发了异常。
zhengcom
2009-01-22
打赏
举报
回复
遇到这种问题比较难查,我推荐给线程加入看门狗的程序,定时往一个健壮的检查线程中做写操作,而检查线程要是一定时间
没有收到写操作就重新启动线程,这样虽然找不到问题但可以解决问题。
lvgaojian
2009-01-22
打赏
举报
回复
我估计不是挂起,是线程终止了!
这多半是线程内对内存操作不当,引发的问题
jaffy
2009-01-05
打赏
举报
回复
主要看是不是死锁了?
jimi830429
2009-01-05
打赏
举报
回复
谢谢,我对这方面也不是很懂,我再按照你说的几个方面查一下!
wbyjerry
2009-01-04
打赏
举报
回复
线程挂起的原因有可能是以下几种:
1、出现死锁。
2、它所等待的事件一直没有发生。
3、主程序把线程挂起,一直没有给它就绪接着执行的指令。
偶学嵌入式的,仅仅懂这些。不知能不能解决你的问题。
JAVA
多
线程
精讲下
线程
的同步(
线程
安全
问题
)l
线程
的
死
锁l
线程
间通信l
线程
组l
线程
池l
多
线程
的第三种实现方案l 匿名内部类方式使用
多
线程
l 定时器的使用l
多
线程
面试题
多
线程
下的HashMap
死
循环
问题
详解
小伙伴们大家好呀,今天看技术博文的时候看到一个很有意思的
问题
,就如标题所示------》在
多
线程
的情况下关于HashMap的
死
循环
问题
,还记我在刚学JavaSE时候,看到过这个
问题
,当时的知识储备不够,没有深究,今天来...
易语言大漠
多
线程
易语言大漠
多
线程
511遇见易语言
多
线程
大漠
多
线程
-1进程
线程
多
线程
511遇见易语言
多
线程
大漠
多
线程
-2中转子程序传多参511遇见易语言
多
线程
大漠
多
线程
-3
线程
传参数据变量地址511遇见易语言
多
线程
大漠
多
线程
-4
线程
传参指针地址511遇见...
Java基础——
多
线程
详解!!!!
多
线程
是多任务的一种特别的形式,但
多
线程
使用了更小的资源开销。
多
线程
能满足程序员编写高效率的程序来达到充分利用 CPU 的目的。注意:很多
多
线程
是模拟出来的,真正的
多
线程
是指有多个CPU,即多核,如服务器。...
多
线程
下HashMap的
死
循环
多
线程
下[HashMap]的
问题
(这里主要说
死
循环
问题
): 1、
多
线程
put操作后,get操作导致
死
循环。 2、
多
线程
put非NULL元素后,get操作得到NULL值。 3、
多
线程
put操作,导致元素丢失。 1、为何出现
死
循环? HashMap是...
Windows SDK/API
1,221
社区成员
8,136
社区内容
发帖
与我相关
我的任务
Windows SDK/API
C++ Builder Windows SDK/API
复制链接
扫一扫
分享
社区描述
C++ Builder Windows SDK/API
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章