首页 > 代码库 > 第8章 读写锁

第8章 读写锁

8.1 概述

互斥锁:只允许一个线程进行数据的访问或更新。

读写锁:(1)只要没有线程对数据进行修改,则其他线程都能对数据进行读操作;(2)仅当没有线程对数据进行读/修改时,才能修改它。

8.2 读写锁

头文件 #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);
读加锁 int pthread_rwlock_rdlock(pthread_rwlock_t *rwlock);
写加锁 int pthread_rwlock_wrlock(pthread_rwlock_t *rwlock);
解锁 int pthread_rwlock_unlock(pthread_rwlock_t *rwlock);
尝试读加锁(失败后休眠) int pthread_rwlock_tryrdlock(pthread_rwlock_t *rwlock);
尝试写加锁(失败后休眠) int pthread_rwlock_trywrlock(pthread_rwlock_t *rwlock);

 8.3 读写锁属性

第8章 读写锁