Files
XCEngine/docs/api/XCEngine/Threading/ReadWriteLock/WriteLock.md

27 lines
462 B
Markdown
Raw Normal View History

2026-03-26 16:45:24 +08:00
# ReadWriteLock::WriteLock
2026-03-26 20:59:59 +08:00
以独占方式进入读写锁。
2026-03-26 16:45:24 +08:00
```cpp
void WriteLock();
```
2026-03-26 20:59:59 +08:00
## 行为说明
2026-03-26 16:45:24 +08:00
2026-03-26 20:59:59 +08:00
当前实现会:
2026-03-26 16:45:24 +08:00
2026-03-26 20:59:59 +08:00
1. 拿内部互斥量。
2. 先执行 `++m_writersWaiting`
3. 等待 `m_readers == 0 && !m_writerActive`
4. 条件满足后执行 `--m_writersWaiting` 并把 `m_writerActive = true`
2026-03-26 16:45:24 +08:00
2026-03-26 20:59:59 +08:00
## 返回值
2026-03-26 16:45:24 +08:00
2026-03-26 20:59:59 +08:00
- 无。
2026-03-26 16:45:24 +08:00
## 相关文档
2026-03-26 20:59:59 +08:00
- [返回类型总览](ReadWriteLock.md)
- [WriteUnlock](WriteUnlock.md)
- [ReadLock](ReadLock.md)