社区
C++ 语言
帖子详情
MFC中如何判断一个线程已经结束了?
Longerandlonger
2010-09-20 08:40:10
用CreateThread()或AfxBeginThread()创建的线程,如何判断它线程已经结束了?
...全文
896
10
打赏
收藏
MFC中如何判断一个线程已经结束了?
用CreateThread()或AfxBeginThread()创建的线程,如何判断它线程已经结束了?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
healer_kx
2010-09-20
打赏
举报
回复
你可以在最后设置一个标志量,或者用GetExitcodeThread。
Longerandlonger
2010-09-20
打赏
举报
回复
GetExitcodeThread 我试试看,先谢谢了
LanQuark
2010-09-20
打赏
举报
回复
6楼正确
GetExitcodeThread取得的是状态, 而不能确认线程结束. 如果使用GetExitcodeThread, 则你需要不停的调用GetExitcodeThread, 直到获得线程结束状态.
xengine-qyt
2010-09-20
打赏
举报
回复
GetExitcodeThread 这个不错!
return_torres
2010-09-20
打赏
举报
回复
DWORD WaitForSingleObject(
HANDLE hHandle, // handle to object
DWORD dwMilliseconds // time-out interval
);
例:
WaitForSingleObject(htread,INFINITE);
// 当等到htread句柄代表的线程结束后,才执行后面的代码。
return_torres
2010-09-20
打赏
举报
回复
所以exitcode只要不为STILL_ACTIVE,线程就结束了。
waitforsingleobject函数也可以,当线程结束时,其线程对象变为激发态
return_torres
2010-09-20
打赏
举报
回复
mfc我没用过,我是学的直接调用API,但道理应该是一样:
DWORD exitcode;
GetExitcodeThread(hthread,&exitcode);
这是得到句柄为htread的线程的退出码,在exitcode中返回,当线程仍未结束时,exitcode==STILL_ACTIVE
pengzhixi
2010-09-20
打赏
举报
回复
Fun()返回不代表主线程结束
Longerandlonger
2010-09-20
打赏
举报
回复
我是在一个成员函数Fun()里创建两个线程:一个正常运行;另一个显示时间,直到第一个线程结束。
还有一点不明白,Fun()应该创建完线程后就返回了,它创建的线程怎么没强制结束呢?
高性能架构探索
2010-09-20
打赏
举报
回复
你线程函数 肯定有个return,如果执行了return,就表明这个线程结束了
C++实战之 windows
MFC
工程应用开发与框架原理完全剖析
本课程是Windows程序设计系列课程三部曲之二:Windows
MFC
框架原理与工程应用开发。本课程重点讲解在windows平台开发使用
MFC
框架进行应用程序开发的核心手段.
[vc笔记]
mfc
启动
线
程,
判断
线
程是否
结束
通过
判断
GetExitCodeThread的返回值,来
判断
线
程是否执行完成
MFC
判断
线
程是否
结束
函数: GetExitCodeThread() 功能: 获取一个
结束
线
程的返回值 函数原形: BOOL GetExitCodeThread( HANDLE hThread, LPDWORD lpExitCode); 参数: hThread 指向欲获取返回值的
线
程对象的句柄 lpExitCode 用于存储
线
程的返回值,若为STILL_ACTIVE
MFC
中
多
线
程的使用
在标准的
MFC
中
使用的
线
程API是“AfxBeginThread“。下面是我对多
线
程的一个操作。因为查了好多资料后,将他们的内容进行整合。我觉得网上并没有给出一个特别清晰的思路。思路:1:创建
线
程;2:创建
线
程调用的函数;3:
结束
线
程第一步:创建
线
程CWinThread * m_pThread; //
线
程 m_pThread = nullptr; m_pThread = AfxBegin...
MFC
如何获得
线
程的状态的方法
如何获得
线
程的状态的方法不管是Windows API还是
MFC
的CWinThread类都没有给出直接获得
线
程状态的接口或函数。
线
程的状态分为正在执行、挂起、
已经
结束
三种。利用API函数GetExitCodeThread()时获得的返回码只能判定
线
程是活着的还是
已经
结束
了,这里“活着的”指的是正在执行或挂起状态。那么如果一个
线
程还活着,怎样鉴别一个
线
程是正在执行还是正在挂起呢???令人遗憾的是,微软
C++ 语言
64,681
社区成员
250,490
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章