第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)