请在 下方输入 要搜索的题目:

桌上有一只盘子,最多可容纳两个水果,每次只能放入或取出一个水果。爸爸专向盘中放苹果,妈妈放专向盘中放桔子;两个儿子专等吃盘子中的桔子,两个女儿专等吃盘子中的苹果。请用P、V操作来实现爸爸、妈妈、儿子、女儿之间的同步与互斥关系。

桌上有一只盘子,最多可容纳两个水果,每次只能放入或取出一个水果。爸爸专向盘中放苹果,妈妈放专向盘中放桔子;两个儿子专等吃盘子中的桔子,两个女儿专等吃盘子中的苹果。请用P、V操作来实现爸爸、妈妈、儿子、女儿之间的同步与互斥关系。

发布时间:2025-03-21 12:21:30
推荐参考答案 ( 由 快搜搜题库 官方老师解答 )
联系客服
答案:答:本题中需设置4个信号量,其中empty表示还可以向盘中放几个水果,其初值为2;apple对应已放入盘中的苹果,orange对应已放入盘中的桔子,它们的初值均为0;mutex用来实现对盘子的互斥访问(包括放和取),其初值为1。相应的进程可描述为:father(){while(1){P(empty);P(mutex);向盘中放苹果;V(mutex);V(apple);}}mother(){while(1){P(empty);P(mutex);向盘中放桔子;V(mutex);V(orange);}}son (){ /* 两个儿子对应同一段代码 */while(1){P(orange);P(mutex);从盘中取桔子;V(mutex);V(empty);吃桔子;}}daughter(){ /* 两个女儿对应同一段代码 */while(1){P(apple);P(mutex);从盘中取苹果;V(mutex);V(empty);吃苹果;}}
专业技术学习
专业技术学习
搜搜题库系统