文章
7
粉丝
0
获赞
0
访问
239
评分及理由
(1)得分及理由(满分4分)
学生第一处修改将"if(key==TRUE)"改为"if(key==TRUE&&lock==FALSE)",这个修改是错误的。因为原代码的问题在于if条件判断后没有循环等待机制,应该改为while循环而不是增加额外的条件判断。学生没有理解到需要持续轮询直到获得锁的核心思想。
学生第二处修改将"lock=TRUE;"改为"lock=FALSE;"是正确的,这符合退出临界区时需要释放锁的要求。
由于学生只正确修改了一处错误中的一半(两处错误各占2分),且第一处修改完全错误,第二处修改正确,因此得分为2分。
(2)得分及理由(满分3分)
学生回答"不可以"是正确的,理由"swap key,lock是原子操作,函数调用不是"也正确指出了关键差异。虽然表述比较简略,但核心观点正确,因此得满分3分。
题目总分:2+3=5分
登录后发布评论
暂无评论,来抢沙发