libuv进行锁封装
#ifndef __CUVMUTEX__H_
#define __CUVMUTEX__H_
#include "uv.h"
class CUvMutex{
public:
CUvMutex();
~CUvMutex();
public:
void Lock();
int TryLock();
void UnLock();
uv_mutex_t* GetMutex();
private:
uv_mutex_t mstUvMutex;
};
#endif
#include "UvMutex.h"
CUvMutex::CUvMutex(){
uv_mutex_init(&mstUvMutex);
}
CUvMutex::~CUvMutex(){
uv_mutex_destroy(&mstUvMutex);
}
void CUvMutex::Lock() {
uv_mutex_lock(&mstUvMutex);
}
void CUvMutex::UnLock() {
uv_mutex_unlock(&mstUvMutex);
}
int CUvMutex::TryLock() {
return uv_mutex_trylock(&mstUvMutex);
}
uv_mutex_t* CUvMutex::GetMutex() {
return &mstUvMutex;
}