线程同步之读写锁
来源:互联网 发布:宁波淘宝商城外包 编辑:程序博客网 时间:2024/05/22 06:59
读写锁:
1、 读写锁的概念:是一把锁,是一个pthread_rwlock_t 类型的锁机制
拥有读(读内存操作)属性和写(写内存操作)属性的锁。
2、 读写锁的特性:读共享,写独占。
读写互斥不能同时进行:先读后写阻塞。
与互斥锁的不同;互斥锁读写独占、读写锁读共享,写互斥。
写的优先级高:写操作被阻塞,后面读的直接阻塞、读写阻塞,锁解开时先执行写操作。
3、 读写锁的场景分析
程序中读操作大于写的操作
4、 主要的操作函数:
创建锁:pthread_rwlock_t rwlock;//创建读写锁
初始化读写锁
pthread_rwlock_init(pthread_rwlock_t*restrict rwlock,const pthread_rwlockattr_t *restrict attr);
销毁读写锁
pthread_rwlock_destroy(pthread_rwlock_t*rwlock);
加读锁
pthread_rwlock_rdlock(pthread_rwlock_t*rwlock);
尝试加读锁
pthread_rwlock_tryrdlock(pthread_rwlock_t*rwlock);
§ 加锁成功:0
§ 失败返回错误号,不阻塞。
加写锁
pthread_rwlock_wrlock(pthread_rwlock_t*rwlock);
§ 上一次加锁写锁,还没有解锁则阻塞
§ 上一次加读锁,没解锁则阻塞。
尝试加写锁
pthread_rwlock_trywrlock(pthread_rwlock_t *rwlock);
解锁
pthread_rwlock_unlock(pthread_rwlock_t*rwlock);
- 线程同步之读写锁
- Linux线程同步之读写锁
- Linux线程同步之读写锁
- linux线程同步之读写锁
- linux线程同步之读写锁
- Linux线程同步之读写锁
- linux线程同步之读写锁
- Linux线程同步之读写锁
- 线程同步-读写锁
- Windows线程同步之Slim读写锁(SRWLock)
- Linux线程同步之读写锁(rwlock)
- Linux线程同步之读写锁(rwlock)
- 线程与同步之三——读写锁
- Linux线程同步之读写锁(rwlock)
- Windows线程同步之Slim读写锁(SRWLock)
- Linux线程同步之读写锁(rwlock)
- 线程同步之互斥锁、读写锁和条件变量
- Linux--线程同步与互斥之读写锁
- 二叉树的建立,前中后序遍历的递归版本和非递归版本,层序遍历
- DB2数据迁移到mysql,使用insert语句
- thinkpad r400 换硬盘
- tensorflow学习笔记----一(基本使用)
- Gulp和webpack的区别,是一种工具吗?
- 线程同步之读写锁
- spark创建RDD方式
- 面向对象(①③)
- 输入子系统匹配过程之list_for_each_entry()函数分析
- python opencv入门 SIFT算法(33)
- linux caffe 将图片转为lmdb格式
- POJ 3233 Matrix Power Series(矩阵快速幂)
- 第四周项目five---猴子选大王
- 图像的乘法运算,自乘物理意义