问题
单项选择题
若有一个仓库,可以存放P1,P2两种产品,但是每次只能存放一种产品,要求:
①w=P1的数量-P2的数量
②-i<w<k(i,k为正整数)
若用PV操作实现P1和P2产品的入库过程,至少需要 (9) 个同步信号量及 (10) 个互斥信号量,其中,同步信号量的初值分别为 (11) ,互斥信号量的初值分别为 (12) 。
(12)处填()。
A.1
B.1,1
C.1,1,1
D.i,k
答案
参考答案:A
解析:
[分析]: 为了标识P1和P2产品入库,我们需要两个同步信号量S1和S2,分别标记P1和P2的数量。根据题意,S1的初值显然不能大于等于k。因为如果S1的初值超过k,而此时又有P1产品入库,就有可能会造成w的越界。同理S2的初值一样不能超过i。
此外,我们还需要设置一个互斥信号量mutex,其初值为1,使得多个进程能够互斥地访问临界区。P1或P2两种产品中的任一种产品申请入库成功后,将mutex减1,使其他进程无法在此期间使用仓库。入库操作完成后,再将mutex加1,其他进程就可以申请入库了。