社区
进程/线程/DLL
帖子详情
关于线程不干活的问题???
Tiger2114
2006-02-20 11:26:12
同一个线程类,同时创建了三个线程实例,但是,运行一段时间后(几天或一月),某个线程就没有相应了,其他线程都没有问题,不知是什么原因,请高手诊断一下,谢谢!
...全文
277
22
打赏
收藏
关于线程不干活的问题???
同一个线程类,同时创建了三个线程实例,但是,运行一段时间后(几天或一月),某个线程就没有相应了,其他线程都没有问题,不知是什么原因,请高手诊断一下,谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
22 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
做鸡真好吃
2006-05-09
打赏
举报
回复
关注中~
iceheart
2006-05-06
打赏
举报
回复
用 _beginThread创建的吧?
C200501111
2006-05-06
打赏
举报
回复
和楼主同样的问题,我的程序是多进程的,一个主进程负责管理和任务分配,但工作一天候,就有一个工作进程没有反应了,不知道楼主是如何解决的?交流一下?
QQ:36367977
veryfatman
2006-05-05
打赏
举报
回复
做个记号,下次研究OutputDebugString等debug函数。
UDX协议
2006-05-04
打赏
举报
回复
很正常,你的线程,中间自己异常退出了。
估计用了过多的try catch,导致异常退出也没有把应用程序crash掉。
pripor
2006-05-03
打赏
举报
回复
估计是同步逻辑的问题吧
你说的也太笼统了,盖茨来了也说不准啊
mynamelj
2006-05-03
打赏
举报
回复
线程是不是反回了?
会思考的草
2006-05-03
打赏
举报
回复
死锁了?
roscoe
2006-05-03
打赏
举报
回复
UINT CMyThr::ThreadProc( VOID* pArgv )
{
struct _LocalInit
{
CMyThr * m_p;
_LocalInit( CMyThr * p ):m_p(p)
{
.... // Write Thread Start Log
}
~_LocalInit()
{
... // Write Thread Term
}
} localinit((CMyThr*)pArgv );
// thread process
}
//
在线程函数内做Log.
不过你这个似是用了WinThread,那个ExitInstance是在WM_QUIT时|Initiance失败时 调用.
gushenghua
2006-04-30
打赏
举报
回复
皮鞭
billy145533
2006-02-23
打赏
举报
回复
检查
caferd
2006-02-23
打赏
举报
回复
你处理线程LOCK会不会出问题了,线程一直LOCK掉了
Tiger2114
2006-02-22
打赏
举报
回复
谢谢大家的指点,今天该问题又重现了一次,这次,我让用户去查看该进程的线程数,发现少了两个线程,因此我又怀疑是不干活的线程已经退出,但是我在ExitInstance里边有打印,可是查看日志,里边并没有线程退出的信息,于是我迷惑了??????
还有一个问题比较迷惑,就是该进程中,运行以后一共有14个线程,出问题后就少了两个线程,如何检测线程是否运行,以及线程是否已经挂起,如果挂起,应该如何激活???请大家指点一下,谢谢!
property1
2006-02-22
打赏
举报
回复
jf
DentistryDoctor
2006-02-22
打赏
举报
回复
如果只是没有响应,而不是终止,应该是什么地方死锁了。但得看你的具体代码了。
charles_y
2006-02-21
打赏
举报
回复
程序出问题了呗。
检查一下程序逻辑
或者也可能是内存操作出问题了
mythay
2006-02-21
打赏
举报
回复
内存出错的可能性大,是否所有的new 你都检查返回值,或者捕捉异常了?
danielzhu
2006-02-21
打赏
举报
回复
void gDebugMsg(CString szStr)
{
#ifdef _ZXH_DEBUG
TCHAR szDebugInfo[2560];
wsprintf(szDebugInfo, "%s\n", szStr);
OutputDebugString(szDebugInfo);
#endif
}
这是我用DebugView的时候,用来显示调试日志的函数
danielzhu
2006-02-21
打赏
举报
回复
建议调试线程,按如下方法操作:
1.建立日志:在线程里边,每一步骤,都使用用字符串标识运行到了什么地方,下一步该做什么了,同时记录下时间。
2.保存日志:
(1)如果你的线程要运行能够很长时间才出问题,那么就把上面的日志,写到一个日志文件中去。等程序出了问题,你就看日志文件。
(2)如果时间比较短就出问题,那么就直接用OutputDebugString函数输出,用DebugView来捕捉日志信息。
通过详细的分析,应该会查得出来
一个傻冒
2006-02-21
打赏
举报
回复
可能是其中某个线程一直等待消息.或者需要的数据.
加载更多回复(2)
为什么老说python是伪多
线程
,怎么解决?
目录一、什么是多
线程
、多进程、守护
线程
1.1 进程1.2 程序1.3
线程
1.4 多
线程
1.5 守护
线程
1.6 进程与
线程
的区别1.7 进程与
线程
的优缺点二、利用Python进行并行计算2.1、并行?伪并行?2.2 GIL2.2.1 GIL是什么2.3 如何解决?2.3.1 使用多进程三、Python中threading的使用注意事项3.1 Python多
线程
的默认情况3.2 设置守护
线程
3.3 ...
多
线程
多少算多?
关于多
线程
的一点思考:真正
干活
的不是
线程
,而是CPU;
线程
越多,
干活
不一定越快
Java 多
线程
(1) 多
线程
有什么用?
搜索关于
线程
相关知识的时候,在知乎上看到的这个答案还是很形象的。
问题
:多
线程
有什么用? 回答一 这么解释
问题
吧: 1。单进程单
线程
:一个人在一个桌子上吃菜。 2。单进程多
线程
:多个人在同一个桌子上一起吃菜。 3。多进程单
线程
:多个人每个人在自己的桌子上吃菜。 多
线程
的
问题
是多个人同时吃一道菜的时候容易发生争抢,例如两个人同时夹一个菜,一个人刚伸出筷子,结果伸到的时候
2.什么是
线程
间的通信 ?怎么实现
线程
通信
2.1什么是
线程
通信以及实现步骤
线程
间通信的模型有两种:共享内存和消息传递
线程
通信其实就是 ,实现
线程
的交替工作,并传递信息
线程
间的通信具体步骤:(涉及上中下部) 创建资源类,在资源类中船舰属性和操作方法 在资源类操作方法:判断、操作、通知 创建多个
线程
,调用资源类的操作方法 防止虚拟唤醒
问题
(if 判读,只会判断一次) 2.2 synchronized案例 操作
线程
的时候,等待
线程
使用wait()通知另外的
线程
操作用notify()、notifyAll() 假设...
面试题:Java多
线程
Java多
线程
面试题1、什么是进程,什么是
线程
?2、请简要描述
线程
与进程的关系,区别及优缺点?3、为什么程序计数器、虚拟机栈、本地方法栈是
线程
私有的?4、说说并发与并行的区别?5、为什么要使用多
线程
呢?多
线程
会产生什么
问题
?6、说说
线程
的生命周期和状态?7、什么是上下文切换?8、什么是
线程
死锁?如何避免死锁?9、说说 sleep() 方法和 wait() 方法区别和共同点?10、为什么我们调用 start() 方法时会执行 run() 方法,为什么我们不能直接调用 run() 方法?11、说一说自己对于 s
进程/线程/DLL
15,471
社区成员
49,182
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章