我们上次通过代码实现了进程间的互斥操作,解决了wps和word同时都去操作我们的队列的话怎么解决这个问题,但是打印机这边又出现了问题,因为我们的进程队列是有限制的,正常来说打印机就在我们的槽里获取数据打印就可以了,但是如果说我们槽满了,这时候应该怎么办?Wps和word是不是都要等着队列空了再往里边放,再或者如果说队列全部空了,打印机也要等着其他进程往里边放东西,所以wps、word和打印机之间也是要保持同步的。这就是所谓的生产者消费者模型。 当有多个消费者和多个生产者的时候,情况就变的复杂了起来,你要保证消费者和消费者之间的互斥,也要保证生产者和生产者之间的互斥问题,还要保证生产者和消费者之间的同步和互斥的问题。 在上边说的例子这种,wps和word就是我们的生产者,而我们的打印机就是消费者。我们之前介绍的锁能够解决互斥,但是不能够解决多个进程之间的同步问题。 当我们只有一个生产者和只有一个消费者的时候问题相对简单一些,问题的核心是要保证不能说临界区满了,生产者还在往里边写入数据,不能让临界区空了,消费者仍然从里边获取数