博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
7.读者——写者问题
阅读量:5957 次
发布时间:2019-06-19

本文共 497 字,大约阅读时间需要 1 分钟。

hot3.png

读者——写者问题

一个数据文件或记录可被多个进程共享。其中,有些进程要求读;而另一些进程要求写或修改。只要求读的进程称为“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进程在安全的读数据

转载于:https://my.oschina.net/u/1771419/blog/3008225

你可能感兴趣的文章
<气场>读书笔记
查看>>
web安全问题分析与防御总结
查看>>
Centos下基于Hadoop安装Spark(分布式)
查看>>
3D地图的定时高亮和点击事件(基于echarts)
查看>>
mysql开启binlog
查看>>
设置Eclipse编码方式
查看>>
分布式系统唯一ID生成方案汇总【转】
查看>>
并查集hdu1232
查看>>
Mysql 监视工具
查看>>
从前后端分离到GraphQL,携程如何用Node实现?\n
查看>>
Linux Namespace系列(09):利用Namespace创建一个简单可用的容器
查看>>
博客搬家了
查看>>
Python中使用ElementTree解析xml
查看>>
jquery 操作iframe、frameset
查看>>
解决vim中不能使用小键盘
查看>>
jenkins权限管理,实现不同用户组显示对应视图views中不同的jobs
查看>>
我的友情链接
查看>>
CentOS定时同步系统时间
查看>>
批量删除用户--Shell脚本
查看>>
如何辨别android开发包的安全性
查看>>