文章
141
粉丝
0
获赞
3
访问
11.2k
评分及理由
(1)得分及理由(满分4分)
学生答案正确指出了两处错误:第一处是将条件判断语句"if (key == TRUE)"修改为循环等待语句"while (key == TRUE)";第二处是将退出区的"lock = TRUE"修改为"lock = FALSE"。这两处修改与标准答案完全一致,逻辑正确,且未增加语句条数。因此,该部分得满分4分。
(2)得分及理由(满分3分)
学生答案正确指出不能用函数调用语句"newSwap(&key, &lock)"代替"swap key, lock"指令,理由是多进程执行newSwap()会导致多个进程进入临界区。这符合标准答案的核心观点:函数调用无法保证原子性,可能导致并发冲突。虽然学生未详细解释原子操作或具体执行序列(如标准答案中的①②④⑤③⑥),但答案已正确指出关键原因(多进程进入临界区),且未出现逻辑错误。因此,该部分得3分。
题目总分:4+3=7分
登录后发布评论
暂无评论,来抢沙发