文章
173
粉丝
0
获赞
0
访问
12.1k

评分及理由
(1)得分及理由(满分4分)
学生指出了两处错误并给出了正确的修改:
① 将 if (key == TRUE) 改为 while (key == TRUE),正确。
② 将 lock = TRUE;(原图可能是 lock == TRUE;,但根据上下文应为赋值语句)改为 lock = FALSE;,正确。
两处修改均符合标准答案,逻辑完整。因此得4分。
(2)得分及理由(满分3分)
学生回答“不可以”,理由为“函数调用语句不是原子操作,不能一气呵成完成交换,可能出现错误”。该理由抓住了核心:newSwap 不是原子操作,在多线程并发执行时可能导致交换过程被中断,从而破坏互斥。虽然表述较为简略,但意思与标准答案一致。因此得3分。
题目总分:4+3=7分
登录后发布评论
暂无评论,来抢沙发