使用pthread.h封装了普通锁、读写锁、普通局部锁和读写局部锁
CLock:封装了普通锁的实现
主要接口:
lock/try_lock:加锁/尝试加锁
unlock:解锁
CRWLock:封装了读写锁的实现
主要接口:
rlock/wlock:加读锁/加写锁
try_rlock/try_wlock:尝试加读锁/尝试加写锁
unlock:解锁
CAutoLock:封装了普通局部锁,利用c++语法局部变量离开作用域自动析构原理,实现自动解锁(牺牲了一定效率)
CAutoLock::CAutoLock(CLock* pLock):构造函数,需要以普通锁作为参数
CAutoRWLock:封装了读写局部锁,实现自动解锁
CAutoRWLock::CAutoRWLock(CRWLock* pLock, bool bRLock):构造函数,需要一读写锁作为参数,bRLock为true操作读锁,为false时操作写锁