반응형
기존에 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 |