文章
146
粉丝
0
获赞
1
访问
26.1k
评分及理由
(1)得分及理由(满分4分)
学生答案正确指出了两处错误:第一处是将进入区的条件判断语句if (key == TRUE)
修改为循环语句while (key == TRUE)
;第二处是将退出区的解锁语句lock = TRUE
修改为lock = FALSE
。这两处修改与标准答案完全一致,且理由充分(需通过轮询实现互斥,退出时需释放锁)。因此得4分。
(2)得分及理由(满分3分)
学生答案正确指出“不可以”使用函数调用newSwap(&key, &lock)
代替原子指令swap key, lock
,理由是其非原子操作,并发执行时可能导致多个线程同时进入临界区(例如描述了进程A和B的交替执行场景)。该理由与标准答案的核心逻辑一致(强调原子性缺失和并发冲突)。因此得3分。
题目总分:4+3=7分
登录后发布评论
暂无评论,来抢沙发