文章
281
粉丝
0
获赞
0
访问
46.6k

评分及理由
(1)得分及理由(满分2分)
学生回答"为临界区,避免同时写入,使数据覆盖"正确指出了C1操作需要互斥访问的原因,与标准答案一致。得2分。
(2)得分及理由(满分3分)
学生使用了两个信号量mua和mub,其中mua初值为1,mub初值为0,这与标准答案中的mutex和full作用相同。P1先P(mua)执行C1后V(mub),P2先P(mub)执行C2后V(mua),逻辑正确实现了同步和互斥。但信号量命名不规范(mua、mub),不影响核心逻辑。得3分。
(3)得分及理由(满分3分)
学生使用了两个信号量mutex1和mutex2,采用了交替执行的方式。但标准答案只需要一个互斥信号量mutex即可,因为两个进程执行C3时只需要互斥访问缓冲区,不需要特定的执行顺序。学生的方案虽然能工作但使用了不必要的信号量,且逻辑比标准答案复杂。考虑到题目要求"尽可能少的信号量",此处扣1分。得2分。
题目总分:2+3+2=7分
登录后发布评论
暂无评论,来抢沙发