如何终止一个 线程

zyp2kyear 2004-03-15 04:08:16
例如:
用AfxBeginThread(Thread1, pData);
AfxBeginThread(Thread2, pData);
AfxBeginThread(Thread3. pData);

如何结束第一个线程
...全文
38 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
GeorgeHunter 2004-03-15
  • 打赏
  • 举报
回复
AfxBeginThread会返回一个句柄,可以用GetExitCode取得线程退出码,调用ExitThread
薛定谔之死猫 2004-03-15
  • 打赏
  • 举报
回复
TerminateThread or ExitThread.
vcforever 2004-03-15
  • 打赏
  • 举报
回复
use TerminateThread function !
vcvcc 2004-03-15
  • 打赏
  • 举报
回复
当然,返回之前还要加一些必要的善后处理,比如释放内存等.
vcvcc 2004-03-15
  • 打赏
  • 举报
回复
TerminateThread()

但这样可能结束的不干净,会有内存泄漏.

如果线程内有循环,你可以在循环内使用WaitForSingleObject();

eg
CEvent event;//或者使用mutix

想要结束的时候就
event.SetEvent();

并在线程函数中添加:
if( WAIT_OBJECT_0 == WaitForSingleObject(event ,100) )
return 0;//线程函数返回,线程自然就结束了.

15,471

社区成员

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

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