操作系统PV操作的几个例子

本文介绍了如何使用信号量PV操作解决桥上车流控制问题,确保桥上车辆不会发生交汇,允许同方向多车同时通行。内容包含具体的PV操作实例,旨在帮助理解操作系统中并发控制的概念。
摘要由CSDN通过智能技术生成
                操作系统中PV操作的几个例子


题1:面包师有很多面包,由n个销售人员推销。每个顾客进店后取一个号,并且等待叫号,当一个销售人员空闲下来时,就叫下一个号。试设计一个使销售人员和顾客同步的算法。


思路:顾客进店后按序取号,并等待叫号,销售人员空闲之后也是按序叫号,并销售面包。因此同步算法只要对顾客取号和销售人员叫号进行合理的同步即可。我们使用两个变量i和j分别记录当前的取号值和叫号值,并各自使用一个互斥信号用于对i和j的访问和修改


代码:
int i=0,j=0;semaphore mutex_i=1,mutex_j=1;Consumer(){ //进入面包店 p(mutex_i); //取号i i++; v(mutex_i); //等待叫号i并购买面包}Seller(){ while(1) {  p(mutex_j);  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值