以下是 CEvent 类的一般用法,包括构造函数:
CEvent::CEvent(BOOL bInitiallyOwn = FALSE, BOOL bManualReset = FALSE, LPCTSTR lpszName = NULL, LPSECURITY_ATTRIBUTES lpsaAttribute = NULL);
构造函数的参数说明:
- bInitiallyOwn:指定事件的初始状态。如果为 TRUE,表示创建事件时为有信号状态;如果为 FALSE,表示创建事件时为无信号状态。
- bManualReset:指定事件是否为手动复位。如果为 TRUE,表示事件是手动复位的,需要手动调用 ResetEvent 来将其复位;如果为 FALSE,表示事件是自动复位的,当有一个等待线程满足事件条件后,系统自动将其复位。
- lpszName:事件的名称,用于命名系统事件对象。
- lpsaAttribute:一个指向 SECURITY_ATTRIBUTES 结构的指针,用于指定事件的安全属性。可以为 NULL,表示使用默认的安全属性。
使用示例:
CEvent myEvent(FALSE, TRUE, _T("MyEvent"));
上述示例创建了一个自动复位的事件对象,初始状态为无信号状态,使用了名称 "MyEvent"。这个事件对象可以用于线程间的同步。
转载请注明出处:http://www.zyzy.cn/article/detail/17687/MFC/CEvent