多生产者-多消费者问题

多生产者-多消费者问题

问题描述

image.png

问题分析

image.png

实现方法

有mutex

image.png

无mutex

image.png

为什么有mutex和没有mutex一样呢

原因在于:本题中的缓冲区大小为1,在任何时刻,apple、 orange、 plate 三个同步信号量中最多只有一个是1。因此在任何时刻,最多只有一个进程的P操作不会被阻塞,并顺利地进入临界区…

如果有两个盘子plate

image.png

知识总结与重要考点

image.png
image.png