线程的同步之读写锁rwlock(二)
来源:互联网 发布:ubuntu 17.10安装教程 编辑:程序博客网 时间:2024/05/16 13:04
1.什么是读写锁?
读写锁和互斥量(互斥锁)很类似,是另一种线程同步机制,但不属于POSIX标准,可以用来同步同一进程中的各个线程。当然如果一个读写锁存放在多个进程共享的某个内存区中,那么还可以用来进行进程间的同步,
相对互斥量只有加锁和不加锁两种状态,读写锁有三种状态:读模式下的加锁,写模式下的加锁,不加锁。
读写锁的使用规则:
● 只要没有写模式下的加锁,任意线程都可以进行读模式下的加锁;
● 只有读写锁处于不加锁状态时,才能进行写模式下的加锁;
pthread_rwlock_init():该函是对pthread_rwlock_t类型的读写锁进行初始化。
pthread_rwlock_destroy ():该函是对pthread_rwlock_t类型的读写锁进行初始化。
pthread_rwlock_wrlock():该函数是写加锁
pthread_rwlock_rdlock():该函数是对读加锁
pthread_rwlock_unlock();该函数是对读加锁,写加锁进行解锁操作。
2.程序代码
结果分析:
当多线程中有读写锁的时候,在读模式加锁的情况下,所有线程都可以共享其资源,若其中有写模式加锁的情况下,若运行到写模式的加锁,必须先运行写模式加锁,在此期间其他的线程不能运行,等对其写模式加锁解锁之后其他的线程才能运行。
0 0
- 线程的同步之读写锁rwlock(二)
- Linux线程同步之读写锁(rwlock)
- Linux线程同步之读写锁(rwlock)
- Linux线程同步之读写锁(rwlock)
- Linux线程同步之读写锁(rwlock)
- Linux线程同步之读写锁(rwlock)
- Linux线程同步(3): 读写锁(rwlock)
- Linux线程同步(3): 读写锁(rwlock)
- Linux线程同步(3): 读写锁(rwlock)
- Linux线程同步: 读写锁(rwlock)
- Linux线程同步读写锁 rwlock
- Linux线程同步读写锁 rwlock
- Linux线程同步读写锁 rwlock
- Linux线程同步读写锁 rwlock
- 【转】Linux线程同步(3): 读写锁(rwlock)
- 嵌入式 Linux线程同步读写锁rwlock示例
- linux系统编程:线程同步-读写锁(rwlock)
- Linux线程同步机制三--读写锁rwlock
- 单链表
- 关于raycast与screenpointoray的一些个人见解
- WEB前端开发之ajax基础篇+跨域访问
- php34-2-2添加商品分类的页面的无限极分类的总结
- POJ3685_Matrix_两重二分
- 线程的同步之读写锁rwlock(二)
- C++编译过程
- java中文排序
- 装饰者模式
- Linux Shell编程之算术运算
- Java字符串和数字间的转换
- 免费的论文查重网站
- A Simple Problem with Integers (线段树 +lazy标记)
- CSS | 规范