![](https://img.haomeiwen.com/i7186975/a27619ca48439216.png)
![](https://img.haomeiwen.com/i7186975/f2f4b9e634a78257.png)
读者进程不会改变数据 因此可以多个读者进程同时访问共享文件
而写者进程 会改变数据 是不可以和其他进程同时访问共享文件
![](https://img.haomeiwen.com/i7186975/18cbc2097803db65.png)
![](https://img.haomeiwen.com/i7186975/4b8c5828d6eda281.png)
读者2 开始读文件 而读者1被阻塞在了P操作
![](https://img.haomeiwen.com/i7186975/43f4550efab692c1.png)
![](https://img.haomeiwen.com/i7186975/fb9d1f9d414c96af.png)
怎么解决写进程饿死问题?
![](https://img.haomeiwen.com/i7186975/e56afa0767054a02.png)
![](https://img.haomeiwen.com/i7186975/a2e03252ab90af0b.png)
若 在读者1 要读文件时 切换进程 写者1 被阻塞在 P(rw) ,读者2 被阻塞在 P(w)
当读者1 执行完 写者1 将执行 读者2还在阻塞,最后读者2 执行
![](https://img.haomeiwen.com/i7186975/c3f87ffb65d023a7.png)
并不是真正的 “写优先” 而是相对公平的 先来先服务 “读写公平法”
![](https://img.haomeiwen.com/i7186975/9aa3e4968a33f393.png)
遇到同步问题 想想 几种生产者-消费者问题思想
遇到互斥问题 想想 读者 写者问题思想
网友评论