gumingyaotangwei 的专栏

游戏架构,游戏引擎,游戏服务器,设计(C/C++),数据库,算法,电信协议,多媒体...

结合 异常捕获体系的 线程基类封装 (三)

//共享锁
#if defined(__WINDOWS__)
class MyLock
{
 CRITICAL_SECTION m_Lock ;
public :
 MyLock( ){ InitializeCriticalSection(&m_Lock); } ;
 ~MyLock( ){ DeleteCriticalSection(&m_Lock); } ;
 VOID Lock( ){ EnterCriticalSection(&m_Lock); } ;
 VOID Unlock( ){ LeaveCriticalSection(&m_Lock); } ;
};
#elif defined(__LINUX__)
class MyLock
{
 pthread_mutex_t  m_Mutex;
public :
 MyLock( ){ pthread_mutex_init( &m_Mutex , NULL );} ;
 ~MyLock( ){ pthread_mutex_destroy( &m_Mutex) ; } ;
 VOID Lock( ){ pthread_mutex_lock(&m_Mutex); } ;
 VOID Unlock( ){ pthread_mutex_unlock(&m_Mutex); } ;
};
#endif
//自动加锁解锁器
class AutoLock_T
{
public:
 AutoLock_T(MyLock& rLock)
 {
  m_pLock = &rLock;
  m_pLock->Lock();
 }
 ~AutoLock_T()
 {
  m_pLock->Unlock();
 }
protected:
private:
 AutoLock_T();
 MyLock* m_pLock;
};

 

 

 

 

 

 

 

 

 

 

阅读更多
文章标签: class windows linux null
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

结合 异常捕获体系的 线程基类封装 (三)

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭