本文共 1154 字,大约阅读时间需要 3 分钟。
1.需要注意的地方
2.读写锁适合的情况
读写锁非常适合对于数据结构读的次数远大于写的情况。
3.读写锁相关接口
读写锁又称为共享互斥锁,是一种特殊的自旋锁。读模式又称共享模式,写模式又称互斥模式。
#includeint pthread_rwlock_init(pthread_rwlock_t *restrict rwlock, const pthread_rwlockattr_t *restrict attr);int pthread_rwlock_destroy(pthread_rwlock_t *rwlock);成功则返回0, 出错则返回错误编号.
#include带有超时的读写锁int pthread_rwlock_rdlock(pthread_rwlock_t *rwlock);int pthread_rwlock_wrlock(pthread_rwlock_t *rwlock);int pthread_rwlock_unlock(pthread_rwlock_t *rwlock);成功则返回0, 出错则返回错误编号.这3个函数分别实现获取读锁, 获取写锁和释放锁的操作. 获取锁的两个函数是阻塞操作, 同样, 非阻塞的函数为:#include int pthread_rwlock_tryrdlock(pthread_rwlock_t *rwlock);int pthread_rwlock_trywrlock(pthread_rwlock_t *rwlock);成功则返回0, 出错则返回错误编号.非阻塞的获取锁操作, 如果可以获取则返回0, 否则返回错误的EBUSY.
#include#include int pthread_rwlock_timedrdlock(pthread_rwlock_t *rwlock);int pthread_rwlock_timedwrlock(pthread_rwlock_t *rwlock);
转载地址:http://ziumi.baihongyu.com/