线程同步2
读写锁
读写锁与互斥锁类似,不过读写锁允许更高的并行性。读写锁可以有三种状态:(1) 读模式下的加锁状态;(2)写模式下的加锁状态(3)不加锁状态。这个区别与互斥锁的,因为互斥锁只有加锁和不加锁的两种状态。一次只能有一个线程的写状态的读写锁,但是可以有多个线程占有读状态的读写锁。
初始化和清理
#include <pthread.h>
int pthread_rwlock_init(pthread_rwlock_t *restrict rwlock,
const pthread_rwlockattr_t *restrict attr);
int pthread_rwlock_destroy(pthread_rwlock_t *rwlock);