文章
78
粉丝
0
获赞
1
访问
34.4k

评分及理由
(1)信号量定义得分及理由(满分2分)
得分:1分
理由:学生定义了hole、harmer、bowl、tree四个信号量,其中harmer(铁锹)和bowl(水桶)的互斥信号量定义正确,初值也正确。但是hole信号量的初值应为3而不是0,因为题目要求"当树坑数量小于3时,甲才可以挖树坑",应该用信号量控制可挖坑的数量。缺少对可挖坑数量的控制信号量。
(2)甲进程代码得分及理由(满分2分)
得分:1分
理由:甲使用if(hole < 3)来判断条件,这在并发环境下是不安全的,应该使用信号量机制。甲在挖坑后V(hole)操作正确,但没有正确实现对可挖坑数量的控制。甲的逻辑基本正确但实现方式有缺陷。
(3)乙进程代码得分及理由(满分2分)
得分:1分
理由:乙的P(hole)和P(harmer)操作顺序基本正确,填土后V(tree)也正确。但是乙没有在完成工作后释放可挖坑的资源(相当于标准答案中的signal(sk))。
(4)丙进程代码得分及理由(满分1分)
得分:1分
理由:丙的代码逻辑正确,P(tree)等待树苗准备好,P(bowl)互斥使用水桶,浇水后V(bowl)释放水桶。
题目总分:1+1+1+1=4分
登录后发布评论
暂无评论,来抢沙发