首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >同步读取器和写入器

同步读取器和写入器
EN

Stack Overflow用户
提问于 2015-06-24 15:23:35
回答 1查看 68关注 0票数 0

如何写出这个问题?老实说,我不明白这个问题的意思。A)编写优先于Reader的读取器和写入器的解决方案,并注释每个信号量的功能。(记住变量和信号量的定义和初始化) B)优先级对读者意味着什么?当作者写作时,到达的读者会发生什么?当编写器结束其操作时会发生什么?

EN

回答 1

Stack Overflow用户

发布于 2015-06-24 16:34:46

我猜约束如下:

  1. 可以同时读取多个读取器。
  2. 一次只能有一个编写器写入。
  3. 如果有读取器,则不能有编写器。如果有写入者,就不能有读者。

要解决这个问题,您需要有一个等待读取器的队列、一个等待写入器的队列、当前读取器的计数,以及用于指示是否有写入器的布尔变量。更好的方法是使用条件变量来解决这个问题,如果您有条件变量的话。

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

当有当前写入器时,到达的读取器会排队。

当一个编写器完成时,如果有任何等待,阅读器就会开始。否则,下一个编写器开始。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31020263

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档