csag.h

来自「window下的多线程编程参考书。值得一读」· C头文件 代码 · 共 33 行

H
33
字号
#include "CMcl.h"

class CSingleAdmissionGate {
private:
    BOOL m_bIsEntered;
    CMclCritSec m_CritSec;

public:
    CSingleAdmissionGate() {
        m_bIsEntered = FALSE;
    };

    BOOL Try() {
        m_CritSec.Enter();
        if (m_bIsEntered == TRUE) {
            m_CritSec.Leave();
            return FALSE;

        }
        else {
            m_bIsEntered = TRUE;
            m_CritSec.Leave();
            return TRUE;
        }
    };

    void Leave() {
        m_CritSec.Enter();
        m_bIsEntered = FALSE;
        m_CritSec.Leave();
    };
};

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?