CEvent默认的是人工重置.在它的构造函数中有设置重置的.
至于多个县城操作同一个CEvent对象,可以用CRITICAL_SECTION来保证不发生混乱.
//In header file
class CSample
{
....
static CRITICAL_SECTION m_sec;
}//In Cpp
CRITICAL_SECTION CSample::m_sec;//Before User CEvent
EnterCricicalSection(&CSample::m_sec)
//Use CEvent
LeaveCriticalSection(&CSample::m_sec)

解决方案 »

  1.   

    bigjim
        我觉得是不是CEvent不用保护的,要不怎么可以用它进行线程通讯呢?看了一些书中也没有保护,你能确定你的看法吗?
      

  2.   

    CEvent封装事件,用来通知其它的线程某一件它关心的事情发生变化.
    CCriticalSection封装临界区,用于同步很多线程对一个共享资源的访问.
    二者的功能是不同的.在通常情况下,程序进行设计时就要注意,有权利对
    CEvent进行SET/RESET操作的只有一个线程,这样就不必出现CEvent需要进行
    另外的保护的尴尬了.这主要是老兄使用CEVENT的方法不太正确,老兄再试试。
    小弟愚见,只供参考.