使用通用信号量S、F和E考虑有界缓冲区生产者/消费者问题的解决方案。信号量S是初始化为1的互斥信号量。信号量F对应于缓冲区中的空闲插槽数,并初始化为N。信号量对应于缓冲区中的元素数,并初始化为0。 以下哪项交换操作可能导致死锁?
null
- 在生产过程中交换等待(F)和等待(S)
- 在用户进程中交换信号(S)和信号(F)
(A) 我只是 (B) 只有我 (C) 我和我都不是 (D) 我和我 答复: (A) 说明: 假设F=0。现在,如果Wait(F)和Wait(S)互换,并且producer中的Wait(S)成功,那么producer将等待Consumer中发出信号的Wait(F),而Consumer永远不会成功,因为它正在等待由producer发出信号的Wait(S)。所以,僵局可能会发生。 这个问题的小测验
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END