#ifndef __INCLUDE_LOCK_H__
#define __INCLUDE_LOCK_H__
#include <Windows.h>
class CLock
{
public:
CLock()
{
::InitializeCriticalSection(&m_oSection);
}
void Lock()
{
::EnterCriticalSection(&m_oSection);
}
void UnLock()
{
::LeaveCriticalSection(&m_oSection);
}
~CLock()
{
::DeleteCriticalSection(&m_oSection);
}
private:
CRITICAL_SECTION m_oSection;
};
//自动锁
class CAutoLock
{
public:
CAutoLock(CLock& lock) : m_lock(lock)
{
m_lock.Lock();
}
~CAutoLock()
{
m_lock.UnLock();
}
private:
CLock& m_lock;
};
#endif //__INCLUDE_LOCK_H__RAII机制实现自动锁
最新推荐文章于 2026-05-16 12:22:23 发布
本文介绍了一个基于Windows平台的互斥锁(CLock)类及自动锁(CAutoLock)类的实现。通过使用Windows API函数实现了资源的加锁与解锁功能,确保了线程间的同步与安全。

2648

被折叠的 条评论
为什么被折叠?



