问题
单项选择题 共用题干题
某书店有一个收银员,该书店最多允许n个购书者进入。将收银员和购书者看做不同的进程,其工作流程如图1-8所示。利用PV操作实现该过程,设置信号量S1、S2和Sn,初值分别为0、0、n。则图1-8中a1和a2应填入(1),b1和b2应填入(2)。
空白(2)处应选择()
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)。