3.06 pv操作练习题1

在这里插入图片描述
主要考点是pv操作中进程之间的约束关系。
哪些地方需要阻塞进程,等待另外的进程。

该书店最多允许n个购书者进入,意味着当购书者数量达到了n,购书者进程就应该阻塞。在题目图中,其实已经实现了这个功能。因为购书者进程进入时,先执行了p(sn),当购书者进程要离开书店之前,执行了V(sn)。

然后看到购书者进程,在购书结束后,付款处有a1和a2两个动作。此处的a1和a2是需要和收银员进程进行交互的。

然后再看回收银员进程,收银员在收费之前进行了一个b1动作。结合刚刚的购书者进程,此处的b1动作,应该是购书者提出缴费需求。那么此处的b1动作,肯定是一个p操作, 可以理解为没有购书者进程唤醒他,收银员可以一直睡大觉。对应的a1则是v操作,他负责唤醒收银员,让他起来收款。由于题目一般是按顺序去配对信号量的,那么此处的b1就是p(s1),a1就是v(s1)。

那么此处的a2是什么意思呢?购书者在付款之后是需要等待收银员收款确认,才算完成交易。因此此处的a2就是一个p操作,相应的b2则是收银员在收费后,确认数目无误后,通知购书者可以离开了,因此b2是一个v操作,因此a2是p(s2),b2是v(s2)。

因此选A,C

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值