当前位置: 首页 > 工具软件 > TeamTalk > 使用案例 >

TeamTalk Lock模块

柯轶
2023-12-01

1.简介

使用pthread.h封装了普通锁、读写锁、普通局部锁和读写局部锁

2.主要类说明

  • 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时操作写锁

3.源码

 类似资料: