【问题】 在生产者—消费者问题中,能否将生产者进程的wait(empty)和wait(mutex)语句互换,为什么?

在生产者—消费者问题中,能否将生产者进程的wait(empty)和wait(mutex)语句互换,为什么?

正确答案:因为这样可能导致系统死锁。当系统中没有空缓冲时,生产者进程的wait(mutex)操作获取了缓冲队列的控制权,而wait(empty) 导致生产者进程阻塞,这时消费者进程也无法执行。

题目解析:本题出自郑州工业应用技术学院,郑州工业应用技术学院网络操作系统,由丰阳塔题库搜集整理。