课时85_读写锁操作函数
1、初始化读写锁
int pthread_rwlock_init(
pthread_rwlock_t *restrict rwlock,
const pthread_rwlockattr_t *restrict attr);
2、销毁读写锁
int pthread_rwlock_destroy(pthread_rwlock_t *rwlock);
3、加读锁
int pthread_rwlock_rdlock(pthread_rwlock_t *rwlock);
阻塞的情况:之前已经对这把锁加了写锁操作
4、尝试加读锁
int pthread_rwlock_tryrdlock(pthread_rwlock_t *rwlock);
加锁成功:返回0;
加锁失败:返回错误号
5、加写锁
int pthread_rwlock_wrlock(pthread_rwlock_t *rwlock);
阻塞的情况:
(1)上一次加锁为写锁,还没有解锁;
(2)上一次加的读锁,还没解锁。(读写不能同时)
6、尝试加写锁
int pthread_rwlock_trywrlock(pthread_rwlock_t *rwlock);
加锁成功:返回0;
加锁失败:返回错误号
7、解锁
int pthread_rwlock_unlock(pthread_rwlock_t *rwlock);