文章
286
粉丝
0
获赞
2
访问
122.9k
1)if(key==true) 改成while(key==true) lock=true 改成lock =false
2)不行 不具有原子性 多个线程并行执行函数调用会导致参数错
评分及理由
(1)得分及理由(满分4分)
学生准确指出了两处错误:
① 将 `if (key == TRUE)` 改为 `while (key == TRUE)`。
② 将 `lock = TRUE;` 改为 `lock = FALSE;`。
这两处修改与标准答案完全一致,且没有增加语句条数,正确实现了临界区互斥。因此,本小题得满分4分。
(2)得分及理由(满分3分)
学生回答“不行”,判断正确,得1分。
给出的理由“不具有原子性”抓住了核心要点,得1分。
理由中“多个线程并行执行函数调用会导致参数错”表述不够精确(标准答案强调了对共享变量lock的读写操作在并发时无法保证原子性,导致互斥失败),但基本意思正确,因此再得1分。
综上,本小题得3分。
题目总分:4+3=7分
登录后发布评论
暂无评论,来抢沙发