同步读者和作家

时间:2015-06-24 07:23:35

标签: operating-system

如何写这个问题?老实说,我不明白这个问题的含义。 A)优先写入读者和作者的解决方案,并评论每个信号量的功能。 (记住变量和信号量的定义和初始化) B)读者的优先级是什么意思? 当作家写作时,读者会怎么样? 当作家结束其操作时会发生什么?

1 个答案:

答案 0 :(得分:0)

我猜测约束如下:

  1. 多个读者可以同时阅读。
  2. 一次只能写一位作家。
  3. 如果有读者,就没有作家。如果有作家,就没有读者。
  4. 要解决这个问题,你需要有一个等待读者的队列,一个等待写入者的队列,当前读者的数量,以及指示是否有写入者的布尔变量。更好的是,使用条件变量来解决这个问题。

    读者的优先权意味着如果没有当前或等待的读者,作者只能写作。

    当有当前作家排队时,读者到达。

    当作家完成时,如果有任何等待,读者就会开始。否则下一位作家开始。