新闻资讯
看你所看,想你所想

ResetEvent

ResetEvent

ResetEvent,这个函式把指定的事件对象设定为无信号状态。

BOOL ResetEvent(
HANDLE hEvent
);
参数说明:
hEvent
[in] 指向事件对象的句柄.由 CreateEvent or OpenEvent 函式返回。 这个句柄需要拥有EVENT_MODIFY_STATE 访问许可权.
函式成功,返回非0值,否则返回0值,可以调用GetLastError得到错误的详细信息。
Remarks
一个事件对象一直都保持在无信号状态,直到显式调用 SetEvent or PulseEvent 函式把它设定到有信号状态。 这些无信号的事件对象会阻塞任何在内部调用wait函式的执行绪。
这个函式用于手动重置的事件对象。手动重置的对象在执行绪释放后必须手动置为无信号状态。 自动重置的事件对象在一个等待它成功的执行绪释放后会自动变为无信号状态。
重置一个无信号的事件对象没有任何效果。
示例:
//前面我们先申请一个CEvent对象
...
CEvent m_Event(FASLE , FALSE) ;
...
//第一个执行绪
DWORD WINAPI EventThreadFirst(LPVOID pParam)
{
for(int i(0) ; i != 5 ; i++)
{
WaitForSingleObject(m_Event.m_hObject , INFINITE) ;
cout << i*11+6 <<endl ;
}
return 0 ;
}
//第二个执行绪
DWORD WINAPI EventThreadSecond(LPVOID pParam)
{
for(int i(0) ; i != 5 ; i++)
{
m_Event.ResetEvent() ;
cout << i*5+2 <<" + "<< i*6+4 << " = ?" <<endl ;
cout << "让我想想..." << endl ;
Sleep(3000) ;
m_Event.SetEvent() ;
}
}
环境需求:
Client Requires Windows XP, Windows 2000 Professional, Windows NT Workstation, Windows Me, Windows 98, or Windows 95.
Server Requires Windows Server 2003, Windows 2000 Server, or Windows NT Server.
Header Declared in Winbase.h; include Windows.h.
Library Link to Kernel32.lib.
DLL Requires Kernel32.dll.
See Also

转载请注明出处海之美文 » ResetEvent

相关推荐

    声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:ailianmeng11@163.com