多生产者-多消费者


多生产者-多消费者

问题描述

桌子上有一只盘子,每次只能向其中放入一个水果。
爸爸专向盘子中放苹果,妈妈专向盘子中放橘子,
儿子专等着吃盘子中的橘子,女儿专等着吃盘子中的苹果。
只有盘子空时,爸爸或妈妈才可向盘子中放一个水果。
仅当盘子中有自己需要的水果时,儿子或女儿可以从盘子中取出水果。
用操作实现上述过程。

在这里插入图片描述

问题分析

问题分析1
问题分析2
问题分析3

如何实现

在这里插入图片描述
在这里插入图片描述

分析: 刚开始,儿子、女儿进程即使上处理机运行也会被阻塞。如果刚开始是父亲进程先上处理机运行,则:
父亲P( plate),可以访问盘子→母亲P( plate),阻塞等待盘子→父亲放入苹果 Apple,女儿进程被唤醒,其他进程即使运行也都会阻塞,暂时不可能访问临界资源(盘子)–》女儿P(apple),访问盘子,V( plate),等待盘子的母亲进程被唤醒→母亲进程访问盘子(其他进程暂时都无法进入临界区)→…

总结

在这里插入图片描述


文章作者: fFee-ops
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 fFee-ops !
评论
  目录