如何判断线程是否全部结束和当前状态!

tiantianxuexi_vc 2008-10-17 09:05:42
做了一个循环,产生了40个线程在执行.但是我需要判断所有线程是否全部执行完了,该如何进行判断呢?还有线程的当前状态?
int n_THread =40;
CWinThread* m_pMonitorThread;
for (int i = 0 ;i < n_Thread ;i++)
{
//执行线程
m_pMonitorThread = AfxBeginThread(StatusMan::DoThread, &thread[i]);
}

...全文
212 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
cnzdgs 2008-10-17
  • 打赏
  • 举报
回复
WaitForSingleObject是等待单个对象,WaitForMultipleObjects是等待多个对象,如果你要等待所有线程结束,就用WaitForMultipleObjects,如果你要结束所有线程,就逐个处理,强行结束用TerminateThread。
tiantianxuexi_vc 2008-10-17
  • 打赏
  • 举报
回复
WaitForSingleObject和WaitForMultipleObjects有什么区别?
还有,如果线程还存活着,我该如何让线程强行停止?
见习学术士 2008-10-17
  • 打赏
  • 举报
回复
AfxEndThread
tiantianxuexi_vc 2008-10-17
  • 打赏
  • 举报
回复
如果还存活的线程,我改怎么样停止掉呢?
飞天舞 2008-10-17
  • 打赏
  • 举报
回复
GetExitCodeThread
查看纯种状态。
jacklzw88 2008-10-17
  • 打赏
  • 举报
回复
WaitForMultipleObjects
dch4890164 2008-10-17
  • 打赏
  • 举报
回复
GetExitCodeThread
判断是否是STILL_ACTIVE
chenyu2202863 2008-10-17
  • 打赏
  • 举报
回复
简单的方法--
在线程结束之前打印信息

复杂点的(其实也简单)--
GetExitCodeThread来检查,具体察看MSDN

15,466

社区成员

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

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