2.1 KiB
2.1 KiB
读写锁
概述
简介
读写锁,即共享独占锁,读时共享,写时独占。读的时候写阻塞,写的时候读阻塞。而且在写优先模式下,读写操作在竞争锁的时候,会优先得到写锁。
#include <rwlock.h>
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() 析构函数 |
使用示例
- 测试用例编译运行方法
-
测试用例代码参见base/test/unittest/common/utils_rwlock_test.cpp
-
使用开发者自测试框架,使用方法参见:开发自测试执行框架-测试用例执行
-
使用以下具体命令以运行
rwlock.h对应测试用例
run -t UT -tp utils -ts UtilsRWLockTest