前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >7.读者——写者问题 原

7.读者——写者问题 原

作者头像
青木
发布2019-03-12 17:02:04
7290
发布2019-03-12 17:02:04
举报

读者——写者问题

一个数据文件或记录可被多个进程共享。其中,有些进程要求读;而另一些进程要求写或修改。只要求读的进程称为“Reader进程”,其他进程称为“Writer进程”。允许多个Reader进程同时读一个共享对象,不允许一个Writer进程和其他Reader进程或Writer进程同时访问共享对象。

所谓读者——写者问题是指保证一个Writer进程必须与其他进程互斥地访问共享对象的同步问题。

信号量设置

  • 为解决一个Writer进程和其他Reader进程互斥,设互斥信号量Wmutex
  • 设置整型变量Readercount表示正在读的进程数目
  • Readercount是一个可被多个Reader进程访问的临界资源,为它设置互斥信号量Rmutex。
  • 仅当Readercount = 0表示无Reader进程在读时,Reader进程才需要执行p操作。若p操作成功,Reader进程便可去读。

使Readercount+1,原因是:Readercount>0,说明已有Reader进程在安全的读数据

(adsbygoogle = window.adsbygoogle || []).push({});

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 读者——写者问题
    • 信号量设置
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档