📄 ltlock.cpp
字号:
// LTLock.cpp: implementation of the CLTLock class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "LTLock.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CLTLock::CLTLock()
{
::InitializeCriticalSection(&mLock);
mnLockCount = 0;
}
CLTLock::~CLTLock()
{
ReleaseLock();
}
BOOL CLTLock::Lock()
{
if( mnLockCount < 0 )
return FALSE;
::EnterCriticalSection(&mLock);
mnLockCount++;
return TRUE;
}
BOOL CLTLock::Unlock()
{
if( mnLockCount <= 0 )
return FALSE;
::LeaveCriticalSection(&mLock);
mnLockCount--;
return TRUE;
}
void CLTLock::ReleaseLock()
{
if( mnLockCount < 0 )
return;
while( mnLockCount > 0 )
Sleep(50);
::DeleteCriticalSection(&mLock);
mnLockCount = -1;
}
void CLTLock::ResetLock()
{
ReleaseLock();
::InitializeCriticalSection(&mLock);
mnLockCount = 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -