一.读写锁
与前面介绍的互斥锁类似,但读写锁有更高的并行性。
二.读写锁的状态
1.读锁【读模式下的锁】
2.写锁【写模式下的锁】
3.不加锁
三.读写锁的特点
1.读写锁是“写模式加锁”时,解锁前,所有对该锁加锁的线程都会被阻塞。
2.读写锁是“读模式加锁”时,如果线程以读模式对其加锁会成功;如果线程以写模式加锁会阻塞。
3.读写锁是“读模式加锁”时,既有试图以写模式加锁的线程,也有试图以读模式加锁的线程。那么读写锁
会阻塞随后的读模式锁请求。优先满足写模式锁。读锁、写锁并行阻塞,写锁优先级高读写锁也叫共享-独占锁。当读写锁以读模式锁住时,它是以共享模式锁住的,当它以写模式锁住时,它是以独占模式锁住的。读写锁非常适合于对数据结构读的次数远大于写的情况。
四.主要应用函数
pthread_rwlock init,函数 pthread_rwlock_destroy函数 pthread_rwlock_rdlock函数 pthread_rwlock_wrlock,函数 pthread_rwlock_tryrdlock,函数