# ReadWriteLock **命名空间**: `XCEngine::Threading` **类型**: `class` **头文件**: `XCEngine/Threading/ReadWriteLock.h` **描述**: 基于互斥量和条件变量实现的写者优先读写锁。 ## 概述 `ReadWriteLock` 允许多个读者并发进入,但写者需要独占访问。 当前实现的一个关键策略是:只要有写者在等待,新读者就不能继续进入。这意味着它更偏向“写者优先”,可以降低写者长期饥饿的风险,但也可能让高频写入场景里的读者等待更久。 ## 当前实现边界 - 没有 `TryReadLock()` / `TryWriteLock()`。 - 没有升级、降级或 RAII guard 类型。 - 当前策略会在 `m_writersWaiting > 0` 时阻止新读者进入,因此可能出现读者饥饿。 - 没有单测覆盖这把锁的并发行为。 ## 公开方法 | 方法 | 说明 | |------|------| | [Constructor](Constructor.md) | 默认构造读写锁。 | | [Destructor](Destructor.md) | 销毁读写锁。 | | [ReadLock](ReadLock.md) | 以共享方式进入。 | | [ReadUnlock](ReadUnlock.md) | 释放共享读锁。 | | [WriteLock](WriteLock.md) | 以独占方式进入。 | | [WriteUnlock](WriteUnlock.md) | 释放独占写锁。 | ## 相关文档 - [当前模块](../Threading.md) - [Mutex](../Mutex/Mutex.md)