文章
64
粉丝
1
获赞
0
访问
7.1k
评分及理由
(1)信号量定义及初值(满分2分)
学生定义了四个信号量:A-C(或A-C和B-C)、B-C、C-E、D-E,初值均为0,与标准答案中的S_AC、S_BC、S_CE、S_DE对应,且初值正确。但第一次识别中出现了"A B-C=0"的误写(可能为识别错误),根据上下文判断为"semaphore B-C=0"的误写,不扣分。信号量命名与标准答案略有差异(如使用"-"代替"_"),但语义相同,不影响逻辑。因此得2分。
(2)同步操作实现(满分5分)
学生代码中:
- A()执行后signal(A-C),正确。
- B()执行后signal(B-C),正确。
- C()中wait(A-C)和wait(B-C)等待A和B完成,执行后signal(C-E),正确。
- D()执行后signal(D-E),正确。
- E()中wait(C-E)和wait(D-E)等待C和D完成,正确。
所有同步关系均正确实现,无逻辑错误。尽管第一次识别中B()的代码缺少分号("do B"后无分号),但根据上下文判断为识别误写,不扣分。因此得5分。
题目总分:2+5=7分
登录后发布评论
暂无评论,来抢沙发