文章

316

粉丝

0

获赞

0

访问

46.4k

头像
2023年计算机学科专业基础综合试题 - 第45题回答
操作系统
发布于2025年10月21日 21:24
阅读数 57

1):  不论key是否等于TRUE,它最终都会进入临界区,因此我们应该将if(key==TRUE)换为while(key==TRUE)

           在退出时应当将lock开锁            lock=FALSE;

2):不可以,因为这是由软件实现的互换而swap是由原语实现的,前者可能会有多个线程共享变量temp,a,b,导致多个线程进入临界区不能实现互斥;


评分及理由

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

学生正确指出了两处错误:

  • 将if条件判断改为while循环(2分)
  • 退出区将lock设置为FALSE而不是TRUE(2分)

修改方案与标准答案完全一致,思路正确,表述清晰。得4分。

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

学生回答"不可以",判断正确(1分)。

理由部分:

  • 正确指出了swap是原语实现的,而函数调用不是原子操作(1分)
  • 正确指出了多个线程可能共享变量导致互斥失败(1分)

虽然表述不如标准答案详细,但核心要点都已涵盖,逻辑正确。得3分。

题目总分:4+3=7分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发