thread问题

tujj99 2004-01-10 04:52:43
这里有线程aThread
DWORD WINAPI aThread(LPVOID lpParam)
{
...
CreateThread(...,bThread,...);
...
}
请问,如何CreateThread(),才能使线程A结束的时候线程B自动结束呢?谢谢了,我使菜鸟
...全文
35 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
shellworld 2004-01-11
  • 打赏
  • 举报
回复
使用全局变量

g_bExit = FALSE;
b线程当中检查此变量状态g_bExit==TURE;
就return;

在A线程结束前设置g_bExit = TRUE;
等待b线程结束。

tujj99 2004-01-11
  • 打赏
  • 举报
回复
我的意思是强制结束线程B,函数?
codelover 2004-01-11
  • 打赏
  • 举报
回复
不行,CloseHandle(b)只是释放对线程的引用,也就是对线程的引用计数减1。但是线程还是单独运行直到结束为止。不过还是应该调用它来释放资源是个好习惯,毕竟Windows里面资源是有限的。

用你在A结束之前调用GetExitCodeThread()来得到线程b的运行状态,如果STILL_ACTIVE,则调用TerminateThread()来结束它。
如果它已经结束就不用管它了。
tujj99 2004-01-11
  • 打赏
  • 举报
回复
to jia20003(我水平不行的) :
按照你说的,假设HANDLE b=CreateThread(...,bThread,.....);
是否用closehandle(b);就可以关闭线程B了呢?
gloomyfish 2004-01-10
  • 打赏
  • 举报
回复
不能想你说的那样,应该在主线程中关闭,或者在在线程B关闭之前
发送PostMessage()方法!!
tujj99 2004-01-10
  • 打赏
  • 举报
回复
up先

18,357

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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