📄 criticalsection.cpp
字号:
#include "StdAfx.h"
#include "CriticalSection.h"
///////////////////////////////////////////////////////////////////////////////
// CriticalSection
///////////////////////////////////////////////////////////////////////////////
CriticalSection::CriticalSection()
{
::InitializeCriticalSection(&m_crit);
}
CriticalSection::~CriticalSection()
{
::DeleteCriticalSection(&m_crit);
}
#if(_WIN32_WINNT >= 0x0400)
bool CriticalSection::TryEnter()
{
return BOOL_to_bool(::TryEnterCriticalSection(&m_crit));
}
#endif
void CriticalSection::Enter()
{
::EnterCriticalSection(&m_crit);
}
void CriticalSection::Leave()
{
::LeaveCriticalSection(&m_crit);
}
///////////////////////////////////////////////////////////////////////////////
// CriticalSection::Owner
///////////////////////////////////////////////////////////////////////////////
CriticalSection::Owner::Owner(
CriticalSection &crit)
: m_crit(crit)
{
m_crit.Enter();
}
CriticalSection::Owner::~Owner()
{
m_crit.Leave();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -