32 lines
557 B
Markdown
32 lines
557 B
Markdown
# ReadWriteLock::ReadLock
|
|
|
|
以共享方式进入读写锁。
|
|
|
|
```cpp
|
|
void ReadLock();
|
|
```
|
|
|
|
## 行为说明
|
|
|
|
当前实现会先拿内部互斥量,然后等待下面这个条件成立:
|
|
|
|
```cpp
|
|
!m_writerActive && m_writersWaiting == 0
|
|
```
|
|
|
|
条件满足后,`m_readers` 加一。
|
|
|
|
## 返回值
|
|
|
|
- 无。
|
|
|
|
## 注意事项
|
|
|
|
- 只要有写者在等待,新读者也会被拦住,因此当前策略是写者优先而不是纯读者优先。
|
|
|
|
## 相关文档
|
|
|
|
- [返回类型总览](ReadWriteLock.md)
|
|
- [ReadUnlock](ReadUnlock.md)
|
|
- [WriteLock](WriteLock.md)
|