作业帮 > 综合 > 作业

有一只笼子,每次只能放一只动物,猎手向往笼子里放猴子,农民向往笼子里放猪,动物园等着(接问题补充)

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/22 13:14:26
有一只笼子,每次只能放一只动物,猎手向往笼子里放猴子,农民向往笼子里放猪,动物园等着(接问题补充)
买笼子里的猴子,饭店等着买笼子里的猪,试用PV操作写出它们能同步执行的程序.
操作系统题哦,谢谢回答,麻烦写标准一点吧.嘿嘿!
[分析与解答]设3个信号量:对\x0d盘子的互斥S,对苹果的同步S1\x0d,对橘子的同步S2.\x0dsemaphore S=1,S1=S2=0;\x0dvoid father ()\x0d{\x0dwhile (1)\x0d{\x0d准备苹果;\x0dwait (S);\x0d将苹果放在盘子内;\x0dsignal (S1);\x0d}\x0d}\x0dvoid mother ()\x0d{\x0dwhile (1)\x0d{\x0d准备橘子;\x0dwait(S);\x0d将橘子放在盘子内;\x0dsignal (S2);\x0d}\x0d}\x0dvoid daughter ()\x0d{\x0dwhile (1)\x0d{\x0dwait(S1);\x0d从盘子上拿走苹果;\x0dsignal (S);\x0d吃苹果;\x0d}\x0d}\x0dvoid son ()\x0d{\x0dwhile (1)\x0d{\x0dwait(S2);\x0d从盘子里拿走橘子;\x0dsignal (S);\x0d吃橘子;\x0d}\x0d}\x0dmain ()\x0d{\x0dcobegin{\x0dfather();\x0dmother();\x0ddauyhter();\x0dson();\x0d}\x0dcoend;\x0d}