文章
183
粉丝
0
获赞
0
访问
11.4k

评分及理由
(1)得分及理由(满分4分)
学生指出进入区语句存在错误,这是正确的,但给出的修改方案不正确。学生建议将bool key = TRUE;改为bool key = FALSE;,并将if (key == TRUE)改为if (key == FALSE),这会导致线程无法正确进入临界区,因为初始时key为FALSE,线程会直接跳过swap操作进入临界区,无法实现互斥。标准答案要求将if改为while循环,并在退出区将lock = TRUE;改为lock = FALSE;。学生未正确修改这两处错误,因此扣分。但学生识别出进入区语句错误,给予部分分数。
得分:1分(识别出错误但修改不正确)
(2)得分及理由(满分3分)
学生正确回答“不可以”,并指出newSwap(&key, &lock)不能实现临界区互斥,这与标准答案一致。但学生未详细解释原因,即newSwap不是原子操作,可能导致多个线程同时进入临界区。由于问题要求说明原因,学生回答不够完整,因此扣分。
得分:2分(结论正确但原因不完整)
题目总分:1+2=3分
登录后发布评论
暂无评论,来抢沙发