반응형

기존에 Lock 키워드를 사용해도 되지만, 좀더 간단한 방법이 있어서 글을 씁니다.

//헤더파일에 정의되어 있는 static 필드
static  Object^ _obj = gcnew Object();;
static bool _openKernel;

//길게 쓰기 싫어서 Using을 합니다.
using namespace System::Threading;
static property bool OpenKernal
{
    bool get()
    {
        return _openKernel;
    }

    void set(bool value)
    {
        Monitor::Enter(obj); //System.Threading에 존재 하는 Monitor, Enter로 락을 겁니다.
        try
        {
            _openKernel = value;
        }
        finally
        {
            Monitor::Exit(obj); //Lock을 해제 합니다.
        }
    }
}

이렇게 해서 Lock을 좀더 간편 하게? 걸어 보았다.

End

'Programing > C++|CLi' 카테고리의 다른 글

C++ Managed , Exception Catch & Handling  (0) 2022.08.23
C++/Cli , Convert String^ , const char* ,string  (0) 2017.06.08

+ Recent posts