Files
phs_v1.0.1.0/commonlibrary/c_utils/docs/zh-cn/c-utils-guide-rwlock.md
2024-09-27 19:16:49 +08:00

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()
析构函数

使用示例

  1. 测试用例编译运行方法
  • 测试用例代码参见base/test/unittest/common/utils_rwlock_test.cpp

  • 使用开发者自测试框架,使用方法参见:开发自测试执行框架-测试用例执行

  • 使用以下具体命令以运行rwlock.h对应测试用例

run -t UT -tp utils -ts UtilsRWLockTest

常见问题