文章

131

粉丝

0

获赞

0

访问

14.1k

头像
2023年(408)计算机学科专业基础综合试题 - 第45题回答
操作系统
发布于2025年12月7日 17:15
阅读数 11


评分及理由

(1)得分及理由(满分4分)

学生指出了两处错误并给出了正确的修改:

  1. if(key == True) 改为 while(key == True)。这是正确的,因为需要循环等待直到成功获取锁。
  2. lock = True; 改为 lock = False;。这是正确的,因为退出临界区后需要释放锁(将lock置为FALSE)。

学生的修改与标准答案完全一致,因此该部分得满分。

得分:4分

(2)得分及理由(满分3分)

学生回答“不可以”,并给出了理由:“改变 key, lock 的值的过程必须是一气呵成的原子操作 new Swap 无法实现。” 这个理由抓住了核心要点:swap指令是原子操作,而newSwap函数调用在多线程环境下无法保证原子性,可能导致互斥失败。

学生的回答虽然表述比标准答案简略,但核心思想(原子性)正确,且结论正确。根据“思路正确不扣分”的原则,应给予满分。

得分:3分

题目总分:4+3=7分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发