docs: rebuild Threading API content
This commit is contained in:
@@ -6,30 +6,33 @@
|
||||
|
||||
**头文件**: `XCEngine/Threading/ReadWriteLock.h`
|
||||
|
||||
**描述**: 定义 `XCEngine/Threading` 子目录中的 `ReadWriteLock` public API。
|
||||
**描述**: 基于互斥量和条件变量实现的写者优先读写锁。
|
||||
|
||||
## 概述
|
||||
|
||||
`ReadWriteLock.h` 是 `XCEngine/Threading` 子目录 下的 public header,当前页面作为平行目录中的 canonical 总览,用于汇总该头文件暴露的主要声明。
|
||||
`ReadWriteLock` 允许多个读者并发进入,但写者需要独占访问。
|
||||
|
||||
## 声明概览
|
||||
当前实现的一个关键策略是:只要有写者在等待,新读者就不能继续进入。这意味着它更偏向“写者优先”,可以降低写者长期饥饿的风险,但也可能让高频写入场景里的读者等待更久。
|
||||
|
||||
| 声明 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| `ReadWriteLock` | `class` | 头文件中的公开声明。 |
|
||||
## 当前实现边界
|
||||
|
||||
## 公共方法
|
||||
- 没有 `TryReadLock()` / `TryWriteLock()`。
|
||||
- 没有升级、降级或 RAII guard 类型。
|
||||
- 当前策略会在 `m_writersWaiting > 0` 时阻止新读者进入,因此可能出现读者饥饿。
|
||||
- 没有单测覆盖这把锁的并发行为。
|
||||
|
||||
| 方法 | 描述 |
|
||||
## 公开方法
|
||||
|
||||
| 方法 | 说明 |
|
||||
|------|------|
|
||||
| [ReadWriteLock()](Constructor.md) | 构造对象。 |
|
||||
| [~ReadWriteLock()](Destructor.md) | 销毁对象并释放相关资源。 |
|
||||
| [ReadLock](ReadLock.md) | 公开方法,详见头文件声明。 |
|
||||
| [ReadUnlock](ReadUnlock.md) | 公开方法,详见头文件声明。 |
|
||||
| [WriteLock](WriteLock.md) | 公开方法,详见头文件声明。 |
|
||||
| [WriteUnlock](WriteUnlock.md) | 公开方法,详见头文件声明。 |
|
||||
| [Constructor](Constructor.md) | 默认构造读写锁。 |
|
||||
| [Destructor](Destructor.md) | 销毁读写锁。 |
|
||||
| [ReadLock](ReadLock.md) | 以共享方式进入。 |
|
||||
| [ReadUnlock](ReadUnlock.md) | 释放共享读锁。 |
|
||||
| [WriteLock](WriteLock.md) | 以独占方式进入。 |
|
||||
| [WriteUnlock](WriteUnlock.md) | 释放独占写锁。 |
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [当前目录](../Threading.md) - 返回 `Threading` 平行目录
|
||||
- [API 总索引](../../../main.md) - 返回顶层索引
|
||||
- [当前模块](../Threading.md)
|
||||
- [Mutex](../Mutex/Mutex.md)
|
||||
|
||||
Reference in New Issue
Block a user