Linux讲解 生产者消费者模型

     我们上次通过代码实现了进程间的互斥操作,解决了wps和word同时都去操作我们的队列的话怎么解决这个问题,但是打印机这边又出现了问题,因为我们的进程队列是有限制的,正常来说打印机就在我们的槽里获取数据打印就可以了,但是如果说我们槽满了,这时候应该怎么办?Wps和word是不是都要等着队列空了再往里边放,再或者如果说队列全部空了,打印机也要等着其他进程往里边放东西,所以wps、word和打印机之间也是要保持同步的。这就是所谓的生产者消费者模型。

  当有多个消费者和多个生产者的时候,情况就变的复杂了起来,你要保证消费者和消费者之间的互斥,也要保证生产者和生产者之间的互斥问题,还要保证生产者和消费者之间的同步和互斥的问题。

  

在上边说的例子这种,wps和word就是我们的生产者,而我们的打印机就是消费者。我们之前介绍的锁能够解决互斥,但是不能够解决多个进程之间的同步问题。

当我们只有一个生产者和只有一个消费者的时候问题相对简单一些,问题的核心是要保证不能说临界区满了,生产者还在往里边写入数据,不能让临界区空了,消费者仍然从里边获取数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值