PulseEvent函数提供了一个单独的操作,用于设置(发出信号)指定事件对象的状态,然后在释放适当数量的等待线程后将其重置(无信号)。
BOOL PulseEvent(
HANDLE 【活动】 | //处理事件对象 |
); |
参数
【活动】
标识事件对象。CreateEvent或OpenEvent函数返回此句柄。
Windows NT:句柄必须有EVENT_MODIFY_STATE访问权限。有关详细信息,请参阅进程间同步对象.
返回值
如果函数成功,返回值不为零。
如果函数失败,返回值为零。要获取扩展错误信息,请调用GetLastError.
备注
对于手动重置事件对象,可以释放所有可立即释放的等待线程。该函数然后将事件对象的状态重置为非指定并返回。
对于自动重置事件对象,该函数将状态重置为非信号状态,并在释放单个等待线程后返回,即使多个线程正在等待。
如果没有线程正在等待,或者如果没有线程可以立即释放,PulseEvent只需将事件对象的状态设置为非指定状态并返回。
请注意,对于使用多对象等待功能等待所有指定对象发出信号的线程,PulseEvent可以将事件对象的状态设置为发信号,并将其重置为非信号状态,而不会导致等待功能返回。如果不是所有指定的对象都同时发出信号,则会发生这种情况。
也可以看看