具体而言,CEvent::SetEvent 的作用是将事件对象的信号状态设置为有信号,即激发事件。这将导致任何正在等待该事件的线程被唤醒,可以继续执行。
以下是一个简单的示例代码,演示了 CEvent::SetEvent 的使用:
// 假设在类中有一个 CEvent 对象
CEvent g_event;
// 线程1中设置事件为有信号状态
void Thread1Function()
{
// 这里进行一些操作
// 设置事件为有信号状态
g_event.SetEvent();
// 可能进行一些其他操作
}
// 线程2中等待事件的有信号状态
void Thread2Function()
{
// 这里进行一些操作
// 等待事件有信号
WaitForSingleObject(g_event.m_hObject, INFINITE);
// 收到事件信号后执行的代码
// 可能进行一些其他操作
}
在上述示例中,线程1使用 SetEvent 设置了事件对象的信号状态为有信号,而线程2使用 WaitForSingleObject 等待事件的有信号状态。当线程1执行 SetEvent 后,线程2将收到事件信号,可以继续执行后续的代码。
转载请注明出处:http://www.zyzy.cn/article/detail/17690/MFC/CEvent