PV 操作与同步互斥 — 计算机选择题
题目
某生产者—消费者系统中,缓冲区容量为 1,信号量 mutex(初值 1)、empty(初值 1)、full(初值 0)。生产者进程代码为:P(mutex); P(empty); 放入产品; V(full); V(mutex)。消费者进程代码为:P(full); P(mutex); 取出产品; V(empty); V(mutex)。生产者与消费者并发执行,若某一时刻生产者已执行完 P(mutex) 且尚未执行 P(empty),此时缓冲区中已有一个产品且消费者正在运行。下列关于系统状态的判断正确的是:
A. 消费者可顺利完成本周期取产品并释放信号量,系统不会死锁
B. 消费者在 P(full) 处阻塞,系统不会死锁
C. 生产者将在 P(empty) 处阻塞并持有 mutex,消费者随后在 P(mutex) 处阻塞,系统进入死锁
D. 生产者在 P(mutex) 处阻塞,系统进入死锁