Programing/C++|CLi
C++/CLI 에서 Lock 거는 법
즐거운 개발자
2019. 12. 3. 18:55
반응형
기존에 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을 해제 합니다.
}
}
}