首页 › 答案 › 题库 › 远程教育 › 联大学堂

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

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