操作系统-同步读写器



如何回答这些问题?若我真的不明白这些问题的含义。A) 编写读卡器和写卡器的解决方案,优先于读卡器,并注释每个信号量的功能。(记住变量和信号量的定义和初始化)B) 优先权对读者意味着什么?当作家写作时,到达的读者会发生什么?当编写器结束操作时会发生什么?

我猜约束如下:

  1. 多个读者可以同时阅读
  2. 一次只能有一个作家写作
  3. 如果有读者,就不可能有作家。如果有作家,就不可能有读者

要解决这个问题,您需要有一个等待的读卡器队列、一个等待写入器队列、当前读卡器计数和布尔变量来指示是否有写入器。更好的是,如果你有条件变量,可以使用它们来解决这个问题。

读者优先意味着作家只有在没有当前或等待的读者的情况下才能写作。

当有当前写入程序时到达的读者会排队。

当一个作家写完后,如果有人在等,读者就会开始阅读。否则,下一个编写器将启动。

最新更新