关于线程的suspend和resume问题

PatrickGamp 2001-02-12 04:01:00
我的主线程生成一个子线程,子线程总在运行,一个变量BOOL bFlag为真时子线程执行任务,为假时调用::SuspendThread,子线程挂起。主线程有任务时设置bFlag为真即可。但是,我怎样判断该子线程是不是出了意外而终止了?
...全文
144 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiao_zhu 2001-02-13
  • 打赏
  • 举报
回复
除了用xyzboat的方法外,还可以用
hThread=_beginthreadex(...);
if(WaitForSingleObject(hThread,0)!=WAIT_OBJECT_0)
{
if(bFlag)
{
ResumeThread(hThread);
}
else
SuspendThread(hThread);
}
else
//线程终止时的处理;
jinxi_gao 2001-02-13
  • 打赏
  • 举报
回复
kankan
Kaile 2001-02-12
  • 打赏
  • 举报
回复
请问从MSDN中如何查到EXITCODE
的具体数值
xyzboat 2001-02-12
  • 打赏
  • 举报
回复
DWORD dwExitCode;
if( ::GetExitCodeThread ( pYourThread->m_hThread , &dwExitCode ) )
if ( STILL_ACTIVE == dwExitCode )
{
...
}
判断返回值来确定是否你的线程已经终止

15,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧