文章
19
粉丝
0
获赞
0
访问
201

评分及理由
(1)得分及理由(满分4分)
学生指出了退出区的错误,将“lock = TRUE”改为“lock = FALSE”,这是正确的,得2分。对于进入区,学生提出的修改是“if (key == TRUE && lock == FALSE)”,这并未将条件判断改为循环等待,因此未能解决原代码中因单次判断可能导致多个线程同时进入临界区的问题。标准答案要求将“if”改为“while”,以实现自旋锁。学生的修改逻辑不完整,因此扣2分。本小题得2分。
(2)得分及理由(满分3分)
学生正确回答了“不能”,并给出了理由“函数调用不具备原子性”,这与标准答案的核心观点一致。虽然表述不如标准答案详细(例如未具体分析并发执行newSwap()时可能出现的交错情况),但已准确指出了关键原因。因此,本小题得3分。
题目总分:2+3=5分
登录后发布评论
暂无评论,来抢沙发