2021-03-20 事件通知设置多次事件信号,是否可以多次等待事件返回
作者:互联网
问题: 探索事件信号机制是否有计数器,使用事件时,在某一处或多处多次设置事件信号,是否可以多次等待事件返回。
测试:
void OnButton1(){
HANDLE hEvent = CreateEvent(NULL,FALSE,FALSE,"EVENTTEST");
SetEvent(hEvent);
SetEvent(hEvent);
SetEvent(hEvent);
}
void OnButton2(){
HANDLE hEvent = CreateEvent(NULL,FALSE,FALSE,"EVENTTEST");
WaitForSingleObject(hEvent,INFINITE);//等待1
WaitForSingleObject(hEvent,INFINITE);//等待2
WaitForSingleObject(hEvent,INFINITE);//等待3
}
验证步骤:
运行OnButton1多次设置事件信号;
运行OnButton2多次等待事件信号;
运行结果:
在运行等待1后,阻塞在了等待2,没有监测到事件的信号,所以事件信号在自动释放信号机制中,
通过连续多次设置信号激活状态,在等待事件时等待一次就可以消耗掉事件的有信号状态,不是想象中
的有计数器控制信号状态的。
标签:03,20,hEvent,多次,事件,信号,FALSE,等待 来源: https://blog.csdn.net/weixin_44819948/article/details/115339154