CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  进程/线程/DLL

如何实时通知子线程让其关闭?

楼主chuiyun(吹云)2005-01-27 15:10:14 在 VC/MFC / 进程/线程/DLL 提问

另一个贴:  
  http://community.csdn.net/Expert/topic/3757/3757242.xml?temp=.0368616  
  谁有例子啊?  
   
  UINT   MyThread(   LPVOID   lParam   )  
  {  
  while(true);  
  return   0;  
  }  
   
  void   MyDeal(void*   vParam)  
  {  
  HANDLE   hThread;  
  hThread=AfxBeginThread((AFX_THREADPROC)MyThread,   (LPVOID)vParam);  
  if(hThread==NULL)  
  AfxMessageBox("Error!");  
   
  return;  
  }  
   
   
  void   CTestView::OnButton1()    
  {  
  //开始  
   
  char   *str1   =   new   char[10];  
  _beginthread(MyDeal,   0,   (void*)(str1)   );  
  }  
   
  void   CTestView::OnButton2()    
  {  
  //结束  
  } 问题点数:20、回复次数:4Top

1 楼yanedanny(守望者)回复于 2005-01-27 16:17:57 得分 5

子线程的while里面放检查消息的非堵塞代码,如果收到某特定消息就退出while。   通知线程可以postthreadmessage该特定消息给子线程。子线程id可以用全局变量保存。Top

2 楼delphihero(何去何从)回复于 2005-01-27 16:30:06 得分 10

while(true)--->  
  HANDLE   m_hEventKill;  
  m_hEventKill   =   CreateEvent(NULL,   TRUE,   FALSE,   NULL);while(WaitForSingleObject(m_hEventKill,50)==WAIT_TIMEOUT)  
  {  
  }  
   
  关闭时:  
  SetEvent(m_hEventKill);Top

3 楼chuiyun(吹云)回复于 2005-01-27 16:50:00 得分 0

我可能需要强制关闭线程,因为用了ReadDirectoryChangesW  
  bMon为全局变量,  
  我在OnButton1()   里将其置为true然后启动线程,在OnButton2()   里将其置为false,让线程自己退出,但不成功,因为"暂停"在ReadDirectoryChangesW上了.  
   
  while(bMon)  
  {  
  //ReadDirectoryChangesW)  
  //此处可能会等待很久,所以要强制关闭线程  
  }Top

4 楼oyljerry(【勇敢的心】→ ㊣提拉米苏√㊣)回复于 2005-01-27 19:54:31 得分 5

用标志退出比较好Top

相关问题

  • 怎样在线程外关闭线程?
  • 关闭多线程出错?
  • 怎么关闭线程阿?
  • 怎样关闭线程?
  • 请教多线程通信与线程关闭的问题
  • 关于子线程关闭父线程的问题
  • 能够在线程中关闭起用线程的窗口吗?
  • 关于线程关闭的问题
  • 如何高效关闭线程?
  • 急! 在tomcat中怎么关闭线程

关键词

  • 线程
  • 消息
  • null
  • heventkill
  • onbutton
  • 子线程
  • 关闭
  • hthread
  • true

得分解答快速导航

  • 帖主:chuiyun
  • yanedanny
  • delphihero
  • oyljerry

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo