11 Star 46 Fork 141

OpenHarmony / commonlibrary_c_utils

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
c-utils-guide-rwlock.md 2.12 KB
一键复制 编辑 原始数据 按行查看 历史
lwx1155083 提交于 2023-01-28 17:25 . Add guides of rwlock.

读写锁

概述

简介

读写锁,即共享独占锁,读时共享,写时独占。读的时候写阻塞,写的时候读阻塞。而且在写优先模式下,读写操作在竞争锁的时候,会优先得到写锁。

#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

常见问题

1
https://gitee.com/openharmony/commonlibrary_c_utils.git
git@gitee.com:openharmony/commonlibrary_c_utils.git
openharmony
commonlibrary_c_utils
commonlibrary_c_utils
master

搜索帮助