操作系统中关于生产者消费者问题
来源:互联网 发布:阮佳网络班视频 编辑:程序博客网 时间:2024/05/17 01:18
m个消费者,r个消费者和n个缓冲器
分析:现在是m个生产者在生产了产品向缓冲器存放时,由于只有一个指示位置的共享变量k,所以那些所有的生产者需要互斥访问共享变量k,即同一时刻只能有一个访问,同理消费者共享了指示位置的t,所有消费者也要互斥访问共享变量t,显然生产者需要一个一个的去缓冲器中存放物品,而消费者需要一个一个的到缓冲器中存放物品,但现在有两种解法的点在于:是可以生产者和消费者只能有一个在缓冲器中,还是即使生产者在缓冲器中,消费者也可以进来取东西。
现在我们先来说第一个程序(生产者和消费者同一时刻只能有一个在缓冲器中)
首先我们还要以前讲过的sp = n(用于计数可用资源数(空的缓冲器)),sc = 0(用于记录满的缓冲器)两个信号互斥量,还需要增加一个互斥信号量s = 1(用于生产者和消费者之间互斥访问缓冲器)
(2)就是上面所说的在生产者在缓冲器里面房放产品时,消费者也能进去取产品。
其实修改很简单,上面程序不是设置一个信号量让s = 1,不管是消费者还是生产者都只能一个人访问共享变量,现在只要在生产者里面设立一个互斥访问量s1 = 1,然后在消费者里面在设立一个互斥访问量s2 = 1,就行了。
0 0
- 操作系统中关于生产者消费者问题
- 操作系统中生产者/消费者问题(一)
- 操作系统中生产者/消费者问题(一)
- 操作系统:生产者-消费者问题
- 操作系统 生产者消费者问题
- 操作系统:生产者消费者问题
- 关于生产者-消费者问题
- 关于生产者-消费者问题
- 关于生产者-消费者问题
- 关于生产者 消费者问题
- 生产者-消费者问题(操作系统)
- 操作系统同步生产者消费者问题
- 操作系统课程设计--生产者消费者问题
- 操作系统中,生产者消费者问题&读者写者问题
- 关于生产者消费者排序问题
- 【操作系统】【学习】生产者和消费者问题
- 操作系统里的生产者、消费者问题
- 【操作系统】生产者消费者问题分析(线程同步)
- Rxjava
- 机器学习算法实践-算法原理-EM算法
- 在字符串中删除特定的字符(字符串)。 题目:输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。 例如,输入”They are students.”和”aeiou”, 则删除之后的第一个字符串
- 非常不错的ffmpeg的解说
- make管理器---MAKEFILE
- 操作系统中关于生产者消费者问题
- HDOJ 5131 Song Jiang's rank list(暴力排序水题)
- Hadoop集群使用双网卡问题
- Linux下用文件IO的方式操作GPIO(/sys/class/gpio)
- Linux查看glibc版本信息
- [android开发]模仿课程表的布局
- Spring入门预备知识(下)(动态代理与面向接口编程)
- Nginx配置文件及解释
- Apple HLS: technical in-depth