课时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);
本文详细介绍了读写锁的初始化、销毁、加锁与解锁等操作函数,包括加读锁、尝试加读锁、加写锁、尝试加写锁及解锁的具体实现方式,帮助读者深入理解读写锁的工作原理。
194

被折叠的 条评论
为什么被折叠?



