技术开发站45793.com
操作系统 day17(读者-写者问题、哲学家进餐问题)
发布时间:
2023年12月24日
读者-写者问题
分析
读者优先的代码实现
若不对count采用互斥操作,那么会导致读者进程之间存在:某个读者进程阻塞在P(rw)中,且它需要等到最后一个读者进程解锁V(rw)才能被唤醒,这很影响系统效率,如果我们对count进行互斥操作,那么读者进程只会阻塞在第一步的P(mutex),并且在下一个V(mutex)时就会被唤醒。
3.读写公平的代码实现
在这种算法中,连续写入的多个读进程可以连续访问,且不会让写进程饥饿
核心
设置计数器count,来记录当前访问共享文件的读进程数,并根据count的值来判断当前的读进程是否是第一个/最后一个,再做相应处理。
对count变量的检查和赋值不能一气呵成,所以采用互斥信号量。
复杂的互斥问题,使用读者-写者算法。同步问题,使用生产者-消费者算法
文章来源:https://blog.csdn.net/u011453680/article/details/135175028
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:chenni525@qq.com进行投诉反馈,一经查实,立即删除!
最新文章
Python教程
深入理解 MySQL 中的 HAVING 关键字和聚合函数
Qt之QChar编码(1)
MyBatis入门基础篇
用Python脚本实现FFmpeg批量转换
腾讯云COS桶文件上传下载工具类
接口自动化测试框架搭建
基于Java的课程设计,可作毕业设计,已通过验收可运行
【没有哪个港口是永远的停留~论文解读】Both Style and Fog Matter
【Flink】Flink 2023 如何高效接入 Flink:Flink Connector / Catalog API 核心设计
B端产品经理学习-B端产品的业务规划
2024年数学建模美赛能用chatGPT之类的AI吗?官方给了明确规定!
华为交换机生成树STP配置案例
NodeJS报错Cannot access ‘xxx‘ before initialization排查解决
vulnhub靶机odin