文章
118
粉丝
0
获赞
0
访问
29.6k

评分及理由
(1)得分及理由(满分7分)
学生答案整体思路正确,定义了四个信号量,与标准答案的四个信号量功能基本对应,并给出了合理的初值。具体分析如下:
empty=3:对应标准答案中的sk=3,表示初始可挖的树坑数量为3,符合题目“当树坑数量小于3时,甲才可以挖树坑”的要求。学生使用P(empty)控制甲挖坑的时机,逻辑正确。pit=0:对应标准答案中的empty=0,表示初始可用的树坑数量为0。学生使用P(pit)控制乙开始工作的时机,逻辑正确。bury=0:对应标准答案中的water=0,表示初始需要浇水的树苗数量为0。学生使用P(bury)控制丙开始工作的时机,逻辑正确。shovel=1:对应标准答案中的mutexT=1,用于实现铁锹的互斥访问,逻辑正确。在流程控制上:
甲:先申请可挖坑名额(P(empty)),再申请铁锹(P(shovel)),挖坑后释放铁锹(V(shovel)),并通知乙有坑可用(V(pit))。逻辑正确。
乙:先等待有坑可用(P(pit)),放树苗,再申请铁锹(P(shovel)),填坑后释放铁锹(V(shovel)),然后通知丙需要浇水(V(bury)),并释放一个可挖坑名额(V(empty))。逻辑正确。
丙:等待需要浇水的信号(P(bury)),然后浇水。逻辑正确。
学生答案与标准答案在信号量命名和部分执行顺序上略有不同(例如乙的“放树苗”在申请铁锹之前),但整体同步互斥关系正确,能够保证三人按“挖坑->放树苗填土->浇水”的顺序协作,且铁锹互斥使用。因此,该答案可得满分。
题目总分:7分
登录后发布评论
暂无评论,来抢沙发