CreateEvent和WaitForSingleObject

zhushow 2008-09-22 11:24:17
evtPrint = CreateEvent(NULL,false,false,"PrintResult");

WaitForSingleObject(evtPrint,10000);

前十几个小时还能收到信号,可是时间一长就Timeout,请达人指教这是为什么?
...全文
302 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
gulunhua 2008-10-06
  • 打赏
  • 举报
回复
帮你顶啊!
c38041125 2008-09-23
  • 打赏
  • 举报
回复
打酱油路过..
cnzdgs 2008-09-23
  • 打赏
  • 举报
回复
判断各个函数调用是否成功,如果失败,取错误码显示或者记录到日志。
zhushow 2008-09-23
  • 打赏
  • 举报
回复
具体是这样的,
一个程序evtPrint = CreateEvent(NULL,false,false,"PrintResult");
并在一个OnTimer里SetEvent,
而另一个守护进程用WaitForSingleObject(evtPrint,10000);

在开始的一段里,我可以收到这个事件,可是运行十几小时,就收不到了,
望高人指教一二,谢谢!
还没淹死的鱼 2008-09-23
  • 打赏
  • 举报
回复
问题不完整,实在看不出来
fuzigege 2008-09-23
  • 打赏
  • 举报
回复
最怕是楼主循环调用CreateEvent,然后又忘记关句柄,导致句柄泄露。

cnzdgs 2008-09-23
  • 打赏
  • 举报
回复
把问题描述再详细一些,具体是怎么执行的?
果菲 2008-09-23
  • 打赏
  • 举报
回复
学习!
zoulie 2008-09-23
  • 打赏
  • 举报
回复
创建以后设置该事件对象没?关闭句柄了?
DentistryDoctor 2008-09-23
  • 打赏
  • 举报
回复
谁在调用SetEvent?
cnzdgs 2008-09-23
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 zhushow 的回复:]
或是哪位达人可以比较通俗地讲一下CreateEvent和WaitForSingleObject 的使用方法
谢了!
[/Quote]
这样看你具体要如何应用,简单的情况是:
使用前CreateEvent得到一个事件句柄,把句柄传给另一个线程,其中一个线程WaitForSingleObject等待这个事件,另一线程SetEvent,不需要再用时CloseHandle。
JonathanS666 2008-09-23
  • 打赏
  • 举报
回复
你的意思就是等一会儿,为什么不直接写Sleep(10000)呢?
zhoujianhei 2008-09-23
  • 打赏
  • 举报
回复
需要CloseHandle()。
zhushow 2008-09-23
  • 打赏
  • 举报
回复
或是哪位达人可以比较通俗地讲一下CreateEvent和WaitForSingleObject 的使用方法
谢了!
jinlingzwp 2008-09-23
  • 打赏
  • 举报
回复
退出时有 CloseHandle没?
douzexin1111 2008-09-23
  • 打赏
  • 举报
回复
事件是由谁来触发的??
cattycat 2008-09-22
  • 打赏
  • 举报
回复
不太明白,帮顶。
sys0001 2008-09-22
  • 打赏
  • 举报
回复
循环使用?

WaitForSingleObject返回WAIT_OBJECT_0和WAIT_ABANDONED要调CloseHandle(evtPrint);

15,466

社区成员

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

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