EnterCriticalSection()和LeaveCriticalSection()的用法?
作用?

解决方案 »

  1.   

    进入和离开临界区阿。先声明一个CRITICALSECTION结构,
    比如你要访问代码段pppppp...,不希望多个线程访问。
    就可以这样
    CRITICALSECTION ca;
    EnterCrtiticalSection(&ca);
    pppp...... segements
    LeaveCriticalSection(&ca);
      

  2.   

    补充楼上一点:首先要调用InitializeCriticalSection或者InitializeCriticalSectionAndSpinCount进行初始化,不然可能会得到不可预期的结果。
      

  3.   

    CRITICAL_SECTION m_cs;
    InitializeCriticalSectionAndSpinCount(&m_cs,4000);//初始化,或者InitializeCriticalSection((&m_cs);
    EnterCriticalSection(&(Temp.pDlg->m_cs));
    ......//要保护的资源
    LeaveCriticalSection(&(Temp.pDlg->m_cs));
    DeleteCriticalSection(&m_cs);//不用时删掉