Keyboard shortcuts

Press or to navigate between chapters

Press ? to show this help

Press Esc to hide this help

第七十一章:读者与写者(进阶)

TL;DR

  • 多个读者可并行,共享数据被写入时必须独占。

正文

  读者与写者锁允许许多只读线程一起进入;写者进入时要排除所有读者和其他写者。它提高读多写少场景的并发,却要选择读者优先、写者优先或公平策略。

  若总让读者插队,写者会饥饿;总让写者优先,新读者又可能久等。

思考题

两个读者同时读取为什么通常安全?

小结

  • 读写锁利用“读取不改变状态”的性质。

思考题答案(仅供参考)

  只读操作不互相覆盖共享数据,前提是期间没有写者进入。

协议

本文采用 CC BY-NC-SA 4.0 协议发布。