文章
246
粉丝
0
获赞
0
访问
38.2k

评分及理由
(1)信号量定义得分及理由(满分2分)
得分:1分
理由:学生定义了mutex、hole、tree、iron四个信号量,其中hole和tree的作用与标准答案中的empty和water类似,用于同步。但缺少对"可挖树坑数量"的专门控制信号量(标准答案中的sk),而是用整型变量i和互斥信号量mutex来实现,这种方式虽然可行但不够规范。iron信号量用于铁锹互斥,但题目要求"尽可能少的信号量",这里可以合并使用。扣1分。
(2)甲进程实现得分及理由(满分2分)
得分:1分
理由:甲进程通过mutex和i变量控制树坑数量小于3时才挖坑,基本逻辑正确。但存在逻辑问题:当i>=3时只是释放mutex然后循环,没有等待机制,会造成忙等待,浪费CPU资源。扣1分。
(3)乙进程实现得分及理由(满分1.5分)
得分:1.5分
理由:乙进程逻辑基本正确,等待hole信号量后执行放树苗和填土,然后发出tree信号量。没有明显错误。
(4)丙进程实现得分及理由(满分1.5分)
得分:1.5分
理由:丙进程逻辑正确,等待tree信号量后浇水,然后通过mutex保护减少树坑计数i。
题目总分:1+1+1.5+1.5=5分
登录后发布评论
暂无评论,来抢沙发