问题 单项选择题

某书店有一个收银员,该书店最多允许n个购书者进入。将收银员和购书者看做不同的进程,其工作流程如图2-8所示。利用PV操作实现该过程,设置信号量S1、S2和Sn,初值分别为0,0,n。则图2-8中a1和a2应填入 (20) ,b1和b2应填入 (21)


A.P(Sn)、V(S2)

B.V(Sn)、P(S2)

C.P(S1)、V(S2)

D.P(S2)、V(S1)

答案

参考答案:C

解析:

[分析]: 根据试题描述,在本题中,Sn显然是代表允许进入书店的购书者的人数,初值为n,表示可以进入n个购书者。S2用于实现对收银员的互斥访问,初值为0,表示收银员空闲,可以付款。S1代表有多少顾客等待付款,初值为0,表示没有顾客付款。
整个工作流程描述如下:首先是收银员上班,执行P(S1),看是否有顾客付款,如果没有,则阻塞。否则,开始收费,收费完毕后,再执行V(S2),表示收银员空闲。购书者进入书店后,执行P(Sn),然后购书;当要付款时,执行V(S1),表示多了一个顾客在等待付款;然后执行P(S2),看收银员是否忙,如果忙,则阻塞。否则,开始付款。顾客离开书店时,执行V(Sn)。

问答题 案例分析题
问答题 简答题