diff --git a/docs/zh-cn/c-utils-guide-rwlock.md b/docs/zh-cn/c-utils-guide-rwlock.md new file mode 100644 index 0000000000000000000000000000000000000000..3c45455d59fceceeaf77ff1c277cf79330bdd5a4 --- /dev/null +++ b/docs/zh-cn/c-utils-guide-rwlock.md @@ -0,0 +1,57 @@ +# 读写锁 + +## 概述 + +### 简介 + +读写锁,即共享独占锁,读时共享,写时独占。读的时候写阻塞,写的时候读阻塞。而且在写优先模式下,读写操作在竞争锁的时候,会优先得到写锁。 + +`#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 +``` + +## 常见问题