函数原型如下:
BOOL ResetEvent() throw();
这个方法没有参数,它返回一个 BOOL 值,表示操作是否成功。如果成功,返回非零值;否则返回零。
在调用 ResetEvent 后,事件对象会被重置为非触发状态,即它的信号状态被清除,等待它的线程将再次被阻塞,直到事件再次被触发。
下面是一个简单的示例:
#include <afx.h>
int main() {
// 创建一个事件对象
CEvent myEvent(FALSE, TRUE);
// 将事件置于非触发状态
myEvent.ResetEvent();
// 检查事件状态
if (myEvent.Lock(0)) {
// 事件已经触发
TRACE(_T("Event is signaled.\n"));
myEvent.Unlock();
}
else {
// 事件未触发
TRACE(_T("Event is not signaled.\n"));
}
return 0;
}
在这个示例中,首先创建了一个 CEvent 对象 myEvent,并将其置于非触发状态。然后通过 Lock 方法来检查事件的状态,如果事件已经被触发,就输出一条消息。由于事件被重置为非触发状态,所以输出的消息应该是 "Event is not signaled."。
转载请注明出处:http://www.zyzy.cn/article/detail/17689/MFC/CEvent