文章
578
粉丝
0
获赞
2
访问
44.6k
评分及理由
(1)信号量定义得分及理由(满分2分)
得分:1分
理由:学生定义了4个信号量,但存在以下问题:
1. "ke"信号量用于甲和乙的同步,但初值为0,这会导致乙无法开始工作(需要甲先V(ke))
2. "tree"信号量用于乙和丙的同步,初值为0正确
3. "tieqiu"信号量用于铁锹互斥,初值为1正确
4. "mutex"信号量用于保护COUNT变量,初值为1正确
5. 缺少限制甲挖坑数量的信号量(当树坑数量小于3时才可以挖坑)
扣1分:缺少关键的限制挖坑数量的信号量
(2)甲进程代码得分及理由(满分2分)
得分:1分
理由:
1. 使用了if条件判断COUNT<=3,但这不是正确的同步方式,应该用信号量控制
2. 先P(tieqiu)再挖坑,互斥正确
3. 使用mutex保护COUNT++正确
4. V(ke)通知乙有坑可用正确
5. 缺少对挖坑数量的限制机制
扣1分:挖坑数量控制逻辑错误
(3)乙进程代码得分及理由(满分1.5分)
得分:1分
理由:
1. P(ke)等待甲挖坑正确
2. 放树苗操作正确
3. V(tree)通知丙正确
4. 乙应该使用铁锹填土,但代码中没有获取铁锹
扣0.5分:乙填土时没有获取铁锹
(4)丙进程代码得分及理由(满分1.5分)
得分:0.5分
理由:
1. P(tree)等待乙放树苗正确
2. P(tieqiu)获取铁锹,但丙不需要铁锹,丙只需要水桶浇水
3. 填土操作应该由乙完成,丙只负责浇水
4. COUNT--操作应该由乙完成
扣1分:角色分工混乱,丙做了乙的工作
题目总分:1+1+1+0.5=3.5分
登录后发布评论
暂无评论,来抢沙发