文章
159
粉丝
0
获赞
0
访问
9.7k
(1)lock = TRUE; 改成lock=FALSE;if(key==TRUE)改成while(key == TRUE)
(2)不可以,函数调用语句 “newSwap(&key, &lock)” 不具备原子性,可能会导致多个并发执行的进程同时进入临界区
评分及理由
(1)得分及理由(满分4分)
得分:4分
理由:学生准确指出了两处错误并给出了正确的修改。第一处将if (key == TRUE)
改为while (key == TRUE)
,确保了线程在无法获取锁时会持续轮询;第二处将lock = TRUE
改为lock = FALSE
,确保退出临界区后释放锁。修改完全符合标准答案,逻辑正确。
(2)得分及理由(满分3分)
得分:3分
理由:学生正确回答了“不可以”,并解释了原因:函数调用语句不具备原子性,可能导致多个线程同时进入临界区。理由与标准答案一致,逻辑清晰,完全正确。
题目总分:4+3=7分
登录后发布评论
暂无评论,来抢沙发