CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  进程/线程/DLL

请问如何阻塞线程啊

楼主hhb83()2006-07-03 13:50:25 在 VC/MFC / 进程/线程/DLL 提问

各位高手,我刚学vc所以可能描述问题不是很清楚。我想在一个线程中某个地方将他阻塞不向下运行,(但不是挂起因为我想要的是循环的效果)不能用sleep,while,而且在别的线程中随时能够解除阻塞(如按个按钮),使其能够向下执行。请问应该用什么方法呢。谢谢 问题点数:20、回复次数:2Top

1 楼pomelowu(羽战士)回复于 2006-07-03 13:57:58 得分 15

用Synchronization   Objects就行了,比如用Event   Object  
   
  先CreateEvent并且ResetEvent,然后在线程中调用WaitForSingleObject就能阻塞了。要想唤起线程,在别的线程中调用SetEvent就可以了。  
   
  楼主可以看看《Windows核心编程》或者看看MSDN中关于Synchronization的部分Top

2 楼yangyangqinqin()回复于 2006-07-04 10:24:41 得分 5

阻塞:  
  CEvent   m_pEvtThread   =   new   CEvent(FALSE,   TRUE,   NULL,   NULL);  
  m_pEvtThread->ResetEvent();//初始化为无信号  
  m_pEvtThread->Lock(INFINITE);//阻塞  
   
  m_pEvtThread->SetEvent();//解除阻塞  
  Top

相关问题

关键词

得分解答快速导航

  • 帖主:hhb83
  • pomelowu
  • yangyangqinqin

相关链接

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

广告也精彩

反馈

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