其他分享
首页 > 其他分享> > 2021-03-20 事件通知设置多次事件信号,是否可以多次等待事件返回

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