c++利用互斥锁实现读写锁
2024-08-25 13:26:46
很简单就是在读的时候把写的锁锁住就好了
class readwrite_lock
{
public:
readwrite_lock()
: read_cnt(0)
{
} void readLock()
{
read_mtx.lock();
if (++read_cnt == 1)
write_mtx.lock(); read_mtx.unlock();
} void readUnlock()
{
read_mtx.lock();
if (--read_cnt == 0)
write_mtx.unlock(); read_mtx.unlock();
} void writeLock()
{
write_mtx.lock();
} void writeUnlock()
{
write_mtx.unlock();
} private:
mutex read_mtx;
mutex write_mtx;
int read_cnt; // 已加读锁个数
};
最新文章
- 关于Karaf Container 4.0.7
- [ASP.NET MVC 小牛之路]16 - Model 验证
- spring MVC学习笔记
- cocos2dx阴影层的实现
- tomcat启动,输出system.out.println()
- github简单使用教程(转)
- 查找指定表的字段not null约束,并生成删除Sql
- ASP.NET MVC轻教程 Step By Step 6——改进表单
- 本地搭建php环境
- Qt实现QQ好友下拉列表(用QListView实现,所以还得定义它的Model)
- 最短路径算法专题3----Bellman-Ford
- 如何在Android studio上运行从github上下载的RN项目
- 多维数据库 Oracle Essbase 和 IBM Cogons 底层原理
- Arm11-mini6410入坑
- 5.1Python函数(一)
- vue--http请求的封装--session
- sqlmap参数
- python概念-常用模块之究竟你是什么鬼
- Windows7下4种方式快速显示桌面
- c++的关联容器入门(map and set)
热门文章
- PIE SDK K-Means分类
- input type=checkbox的值后台怎么接受
- Exception 'ReflectionException' with message 'Class require does not exist'
- $bzoj1009-HNOI2008$ $GT$考试 字符串$dp$ 矩阵快速幂
- Python学习 day04
- 小程序 开发阶段请求网络报 不在以下 request 合法域名列表中
- Docker的学习笔记(开发的技术分享转发)
- 彻底消除wine中文乱码,QQ,kugoo等等....
- Java进程内缓存
- HDU 4268 multiset