文章
90
粉丝
0
获赞
2
访问
10.6k

评分及理由
(1)得分及理由(满分4分)
学生答案中提出了两处修改:①将"bool lock = FALSE"改为"bool lock = TRUE";②将"bool key = TRUE"改为"bool key = FALSE"。这些修改不符合标准答案的要求。标准答案要求将"if (key == TRUE) swap key, lock;"改为"while (key == TRUE) swap key, lock;",并将"lock = TRUE;"改为"lock = FALSE;"。学生的修改没有解决关键问题:没有将条件判断改为循环等待,且修改初始值会导致逻辑错误(例如,初始lock为TRUE时线程无法进入临界区)。因此,这两处修改均不正确,无法实现互斥。扣4分。
得分:0分
(2)得分及理由(满分3分)
学生正确回答了"不可以",但理由不完整。标准答案强调原因是swap指令是原子操作,而函数调用无法保证原子性,可能导致多个线程同时进入临界区。学生的理由"会受其他代码带来的影响"过于模糊,没有准确指出原子性问题。因此,回答部分正确,但理由不充分。扣1分。
得分:2分
题目总分:0+2=2分
登录后发布评论
暂无评论,来抢沙发