【发布时间】:2015-06-24 07:23:34
【问题描述】:
如何写这个问题?老实说,我不明白这个问题的含义。 A) 写出Reader 优先的Readers 和Writers 的解,并注释每个信号量的功能。 (记住变量和信号量的定义和初始化) B) 读者的优先权是什么意思? 当作家写作时,到达的读者会发生什么? 当 writer 结束其操作时会发生什么?
【问题讨论】:
标签: operating-system
如何写这个问题?老实说,我不明白这个问题的含义。 A) 写出Reader 优先的Readers 和Writers 的解,并注释每个信号量的功能。 (记住变量和信号量的定义和初始化) B) 读者的优先权是什么意思? 当作家写作时,到达的读者会发生什么? 当 writer 结束其操作时会发生什么?
【问题讨论】:
标签: operating-system
我猜的限制如下:
为了解决这个问题,你需要有一个等待读者的队列、一个等待作者的队列、当前读者的数量,以及指示是否有作者的布尔变量。更好的是,如果有条件变量,请使用条件变量来解决这个问题。
读者的优先权意味着作者只有在没有当前或等待读者的情况下才能写。
当有当前写入者时到达的读取者会排队。
当作家完成时,如果有任何等待,读者就会开始。否则下一个作家开始。
【讨论】: