题46
题目
Q:消费者进程阻塞在 wait
I. 没有空缓冲区
II. 没有满缓冲区
III. 有其他生产者已进入临界区
IV. 有其他消费者已进入临界区
A. I 和 II
B. III 和 IV
C. I 和 III
D. II 和 IV
分析
A:消费者是要去缓冲区取数据的,如果此时缓冲区是空的(但是居然没有这个选项),那肯定就阻塞了,又因为缓冲区的数据是互斥的,还可能是有别的消费区在取数据
解
B
在生产者-消费者问题中, 每次只能有一个生产者或消费者进入缓冲区, 需要用一个互斥信号量来控制, 当有一个生产者或消费者进入缓冲区时, 其他申请进入缓冲区的消费者会被阻塞。