CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  进程/线程/DLL

WaitForSingleObject能接收到消息函数中的事件信号状态吗?

楼主ye83241905(ye)2005-06-06 13:12:41 在 VC/MFC / 进程/线程/DLL 提问

我在某个函数中使用了函数WaitForSingleObject来等待事件信号。在一个消息函数中设置事件为有信号状态。SetEvent(hEvent);请问WaitForSingleObject能收到这个信号,以有信号退出等待状态。 问题点数:20、回复次数:5Top

1 楼krh2001(边城浪子)回复于 2005-06-06 13:17:03 得分 5

当然可以,不过你的函数不能跟消息循环运行在同一个线程内Top

2 楼ye83241905(ye)回复于 2005-06-06 13:36:40 得分 0

krh2001(边城浪子)   麻烦你说得详细些。不能跟消息循环运行在同一个线程内   是什么意思?我是这样做,设置信号状态是在一个消息响应函数里。在另外一个函数里等待这个事件的状态变为有信号状态。  
  Top

3 楼JohnTitor(贱畜)回复于 2005-06-06 19:16:50 得分 5

也就是说执行等待这个事件的状态变为有信号状态的函数要由另外一个线程来执行,而不是你的UI线程Top

4 楼krh2001(边城浪子)回复于 2005-06-06 19:43:59 得分 10

楼上正解,试想.   如果你在主线程的某处调用了   WaitForSingleObject   来等待一个事件,但这个事件是在一个消息里被触发,   那么既然线程已经在执行等待了,怎么可能有机会去执行触发事件这里的代码?  
  所以,事件同步应该是两个不同的线程间的做的.Top

5 楼ye83241905(ye)回复于 2005-06-08 10:32:42 得分 0

再请教一个傻瓜问题。怎么知道WaitForSingleObject在主线程里呢?我的WaitForSingleObject是在一个消息响应函数里,这个函数要做很多事,做完一件事以后就等待某个消息,在这个消息里设置事件发生了,那个消息响应函数收到这个信号,就接着做下面的。刚才试了一下,可以接到这个事件信号,可是如果把等待时间设为无限,就没反应了,象死了一样。Top

相关问题

  • WaitForSingleObject函数疑问
  • WaitforSingleObject函数调用失败————————?
  • recv()函数无法接收数据
  • EnterCriticalSection,WaitForSingleObject两个函数作什么用?
  • WaitForSingleObject函数类型不匹配
  • 怎样接收到函数由RETURN返回的值.
  • 如何接收 用 CreateObject 函数创建对象的事件
  • 请问接收用户录用用什么函数?
  • 想在WinSocket下实现这样功能的接收函数
  • javascript函数,如何接收数组参数?

关键词

  • 函数
  • 信号
  • 线程
  • 消息
  • 执行
  • waitforsingleobject
  • 事件
  • 状态
  • 等待
  • 响应

得分解答快速导航

  • 帖主:ye83241905
  • krh2001
  • JohnTitor
  • krh2001

相关链接

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

广告也精彩

反馈

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