桌上有一空盘,可放一只水果。爸爸可向盘中放苹果,也可向盘中放桔子;儿子专等吃盘中的桔子;女儿专等吃盘中的苹果。规定一次只能放一只水果,试写出爸爸、儿子、女儿正确同步的程序。

桌上有一空盘,可放一只水果。爸爸可向盘中放苹果,也可向盘中放桔子;儿子专等吃盘中的桔子;女儿专等吃盘中的苹果。规定一次只能放一只水果,试写出爸爸、儿子、女儿正确同步的程序。


参考答案和解析
semaphore empty=2; //定义empty对应盘子的剩余放水果的位置个数初值为2 semaphore apple=0; //定义信号量apple对应盘子里的苹果数量初值为0 semaphore orange=0; //定义信号量orange对于盘子里的橘子数量初值为0 semaphore mutex=1: //定义信号量mutex来保护盘子被互斥地访问 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); 吃掉拿出来的苹果 } } semaphoreempty=2;//定义empty对应盘子的剩余放水果的位置个数,初值为2semaphoreapple=0;//定义信号量apple对应盘子里的苹果数量,初值为0semaphoreorange=0;//定义信号量orange对于盘子里的橘子数量,初值为0semaphoremutex=1://定义信号量mutex来保护盘子被互斥地访问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);吃掉拿出来的苹果}}

相关考题:

交叉遗传的特点包括 () A、男性的 X 染色体传给女儿,儿子的 X 染色体由妈妈传来B、男性的 X 染色体传给儿子C、儿子的 X 染色体由爸爸传来D、女儿的 X 染色体由妈妈和爸爸传来E、以上都不对

●桌上有一个空盒,盒内只允许放一个水果。爸爸专向盒内放苹果,妈妈专向盒内放桔子,儿子等着吃盒中的水果(苹果或桔子)。若盒内已有水果,放者必须等待,若盒内没有水果,吃者必须等待。用PV操作来协调3人的关系。请回答下列问题:①应设置的信号量及其初值为SP和1。②在3组工作流程的虚线位置填上适当的PV操作,实现3人正确的活动。爸:准备P(SP)向盒内放苹果(15)妈:准备(16)向盒内放桔子(17)儿:(18)拿盒中的水果(苹果或桔子)(19)吃水果(苹果或桔子)(15) ~(19) A.P(SP)B.P(SG)C.V(SG)D.V(SP)

西餐宴会上菜顺序,正确的选项是()。 A、凉菜、热菜、甜食、汤B、头盘、热菜、汤、主食、水果C、头盘、汤、第一主菜、第二主菜、甜食D、头盘、汤、热炒菜、甜食、水果

桌子上有一只盘子,每次只能放入一只水果,父亲专向盘子中放苹果,母亲专向盘子中放桔子,一个儿子专等吃桔子,一个女儿专等吃苹果。只要盘子中空,则父亲或母亲可向盘子中放一只水果,仅当盘子中有自己需要的水果时,儿子或女儿可从盘子中取出。将父亲、母亲、儿子、女儿看做四个进程,用PV操作进行管理使这四个进程能正确地并发执行。

妈妈:外婆( )A.爸爸:外公B.儿子:孙子C.女儿:妈妈D.儿子:爸爸

该患者应尽量避盘吃以下哪种食物A.苹果B.芋头C.梨D.草莓E.橘子

有苹果,桔子各一筐,苹果有240个,桔子有313个,把这两筐水果平均分给一些小朋友.已知苹果分到最后余2个,桔子分到最后还余7个,求最多有多少个小朋友参加分水果?

有苹果,桔子各一筐,苹果有240个,桔子有313个,把这两筐水果平均分给一些小朋友,已知苹果分到最后余2个,桔子分到最后还余7个,求最多有多少个小朋友参加分水果?A.14B.17C.28D.34

编号为1至10的十个果盘中,每盘都盛有水果,共盛放100个。其中第一盘里有16个,并且编号相邻的三个果盘中水果数之和都相等,求第8盘中最多可能有几个水果?A.11B.15C.17D.21

有三筐水果,一筐装的全是苹果,第二筐装的全是橘子,第三筐是橘子与苹果混在一起。筐上的标签都是骗人的,(比如,如果标签写的是橘子,那么可以肯定筐里不会只有橘子,可能还有苹果)你的任务是拿出其中一筐,从里面只拿一只水果,然后正确写出三筐水果的标签。

( )对于钢铁相当于水果对于( )A.金属——香蕉B.苹果——桔子C.梨——陶D.面粉——小麦

有苹果、草莓、香蕉、桔子四种水果,甲、乙、丙、丁四个人每人领一种,甲:“我领到了苹果”,乙:“我领到了桔子”,丙:“甲说谎,他领到了香蕉”,丁:“我领到了草莓”如果只有两个人说的是真话,则一定可以推出的是()A. 乙领到的是桔子B. 丁领到的是草莓C. 丙领到的不是香蕉D. 甲领到的不是苹果

小瑗和爸爸一起包饺子,爸爸包的饺子是小瑗的两倍。爸爸的饺子放在四个盘子里,小瑗的饺子放在两个盘子里。六个盘子中的饺子数依次为15、19、20、21、22、23。那么小瑗的饺子在________。A.第2盘与第4盘B.第3盘与第4盘C.第2盘与第3盘D.第1盘与第6盘

下面哪种水果营养丰富、热量低,含有称为“智慧之盐”的磷()A、香蕉B、桔子C、橙子D、苹果

以下水果中,属于早上最宜吃的水果是哪一种()A、橘子B、香蕉C、木瓜D、苹果

夹菜勿捞过界,也不可()。吃自助餐(buffet),一次勿拿取太多食物。吃第二盘时,要()使用。

《不孝的儿子》中,不孝的儿子把烤鸡藏起来不想给()吃。A、妈妈B、爸爸C、妻子

西餐宴会的上菜顺序是()。A、咖啡、汤、头盘、主菜、水果、甜点B、头盘、主菜、汤、水果、甜点、咖啡C、咖啡、头盘、汤、主菜、甜点、水果D、头盘、汤、主菜、甜点、水果、咖啡

在唯物辩证法看来,水果同苹果、梨、香蕉、桔子等的关系是()A、共性和个性的关系B、整体和部分的关系C、本质和现象的关系D、内容和形式的关系

在国际货物买卖交易磋商中,关于发盘与接受的规定,下列()是正确的。A、发盘只能由卖方作出,接受只能由买方作出B、发盘只能由买方作出,接受只能由卖方作出C、发盘或接受既可以由卖方作出,也可以由买方作出D、发盘必须在询盘后作出

托盘天平称量时,样品应该()。A、左盘放样,右盘放法码B、右盘放样,左盘放法码C、左右托盘都可放法码D、左右托盘都可放样品

在花篮中放入一只生梨和数个苹果,寓意为()。

精神病人就座的茶桌上可放瓶、罐、果皮盘等器具,但不能放水果刀等锐器。

单选题在国际货物买卖交易磋商中,关于发盘与接受的规定,下列()是正确的。A发盘只能由卖方作出,接受只能由买方作出B发盘只能由买方作出,接受只能由卖方作出C发盘或接受既可以由卖方作出,也可以由买方作出D发盘必须在询盘后作出

单选题西餐宴会的上菜顺序是()。A咖啡、汤、头盘、主菜、水果、甜点B头盘、主菜、汤、水果、甜点、咖啡C咖啡、头盘、汤、主菜、甜点、水果D头盘、汤、主菜、甜点、水果、咖啡

单选题《不孝的儿子》中,不孝的儿子把烤鸡藏起来不想给()吃。A妈妈B爸爸C妻子

判断题精神病人就座的茶桌上可放瓶、罐、果皮盘等器具,但不能放水果刀等锐器。A对B错

单选题女:你发现没有?经理最近特别高兴。男:当然了,他现在做爸爸了。女:他的孩子是儿子还是女儿?男:是个女儿,非常可爱,长得很像他。问:经理最近为什么高兴?A爸爸来了B儿子像他C有了女儿