循环线程退出问题二

 你不能使用AfxBeginThread(),需要改用CreateThread()。  
   
  HANDLE   m_hYourThread;   //   线程句柄,声明成一个成员变量  
  HANDLE   m_hYourEvent;     //   事件句柄,用来通知线程结束  
   
  //   初始化的时候增加这两句  
  m_hYourThread   =   NULL;  
  m_hYOurEvent   =   CreateEvent(NULL,FALSE,FALSE,NULL);  
   
  //   创建的时候  
  DWORD   dwThreadId;  
  m_hYourThread   =   CreateThread(NULL,0,YourThread,this,0,&dwThreadId);  
   
  //   线程内部  
  while   (1)   改成:   while   (WAIT_TIMEOUT   ==   WaitForSingleObject(m_hYourThred,   10000))   {  
  }  
  return   0;  
   
  //   退出的时候  
  SetEvent(m_hYourEvent);  
  if   (WAIT_TIMEOUT   ==   WaitForSingleObject(m_hYourThread,1000)  
      TerminateThread(m_hYourThread);  
  CloseHandle(m_hYourThread);  
  CloseHandle(m_hYourEvent);  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值