文章
74
粉丝
0
获赞
0
访问
49.2k
(1)if(key==TRUE)发生了错误,可以将其修改为:while(key==TRUE)。
(2)不能进行替换,因为swap key,lock是原子操作,而函数不是原操作,如果采用函数调用,可能会发出错误。
评分及理由
(1)得分及理由(满分4分)
学生指出了第一处错误:将if(key==TRUE)修改为while(key==TRUE),这是正确的修改,得2分。但学生没有指出第二处错误:退出区中的lock = TRUE;应改为lock = FALSE;,此处逻辑错误扣2分。因此本小题得2分。
(2)得分及理由(满分3分)
学生正确回答了"不能进行替换",得1分。并给出了基本正确的理由:swap是原子操作而函数不是原子操作,得1分。但理由描述不够完整,没有具体说明非原子操作可能导致多个线程同时进入临界区的情况,扣1分。因此本小题得2分。
题目总分:2+2=4分
登录后发布评论
暂无评论,来抢沙发