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 读写锁属性
时间: 2024-10-11 21:31:31