第8章 读写锁

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第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章 读写锁的主要内容,如果未能解决你的问题,请参考以下文章

深入浅出 Java Concurrency (13): 锁机制 part 8 读写锁 (ReentrantReadWriteLock)

8. 读写锁

第9章 线程编程_线程同步1:互斥锁

读写锁

互斥锁,信号量,条件变量,读写锁

读写锁之ReadWriteLock