如下:
    CCriticalSection crit;
    crit.Lock();
    ...... //你的代码
    crit.Unlock();OK!

解决方案 »

  1.   

    你的意思是说:在lock和Unlock之间操作了的成员变量才满足互斥访问的条件?
      

  2.   

    为何编译通不过呢?CCriticalSection有什么头文件要求吗?或者必须放在什么位置上?
      

  3.   

    试试添加头文件:
    #include <afxmt.h>你可以自己看看MSDN。
      

  4.   

    加了头文件也没有用,MSDN没有更多的说明
    老是说:CCriticalSection m_c;
         的m_c前面少了一个分号?就是不认CCriticalSection嘛 
      

  5.   

    可能是你的应用没有支持MFC.可以直接用API:
    在你的类中加一个成员:
             LPCRITICAL_SECTION m_Critic;
    在构造函数中:
             InitializeCriticalSection(m_Critic);
    每当访问需要同步的数据成员时:
             EnterCriticalSection(m_Critic);
             访问需要同步的数据成员;
             LeaveCriticalSection(m_Critic);
    在析购函数中:
             DeleteCriticalSection(m_Critic);注意:EnterCriticalSection和DeleteCriticalSection之间的代码应该尽可能的短和高效