# 读写锁 ## 概述 ### 简介 读写锁,即共享独占锁,读时共享,写时独占。读的时候写阻塞,写的时候读阻塞。而且在写优先模式下,读写操作在竞争锁的时候,会优先得到写锁。 `#include ` Inherits from OHOS::NoCopyable ## 涉及功能 ### 接口说明 ### OHOS::RWLOCK | 返回类型 | 名称 | | -------- | -------------------------------------------------------- | | | **RWLock**() : RWLock(true)
构造函数 | | | **RWLock**(bool writeFirst)
构造函数(指定读优先模式) | | | **~RWLock**()
析构 | | void | **LockRead**()
获取读锁 | | void | **UnLockRead**()
释放读锁 | | void | **LockWrite**()
获取写锁 | | void | **UnLockWrite**()
释放写锁 | ### OHOS::UniqueWriteGuard | 返回类型 | 名称 | | -------- | --------------------------------------------------------- | | | **UniqueWriteGuard**(RWLockable &rwLockable)
构造函数 | | | **~UniqueWriteGuard**()
析构函数 | ### OHOS::UniqueReadGuard | 返回类型 | 名称 | | -------- | -------------------------------------------------------- | | | **UniqueReadGuard**(RWLockable &rwLockable)
构造函数 | | | **~UniqueReadGuard**()
析构函数 | ## 使用示例 1. 测试用例编译运行方法 - 测试用例代码参见base/test/unittest/common/utils_rwlock_test.cpp - 使用开发者自测试框架,使用方法参见:[开发自测试执行框架-测试用例执行](https://gitee.com/openharmony/testfwk_developer_test#%E6%B5%8B%E8%AF%95%E7%94%A8%E4%BE%8B%E6%89%A7%E8%A1%8C) - 使用以下具体命令以运行`rwlock.h`对应测试用例 ```bash run -t UT -tp utils -ts UtilsRWLockTest ``` ## 常见问题