文章
5
粉丝
0
获赞
1
访问
215
if(lock==False) 如果是key为True的话,那么任何一个进程都能进入临界区
lock=False 如果设置为True的话就进不去了,只有为False时,才能进入临界区
不可以,因为这个函数的执行可能存在先后顺序,除非加入mutex对该函数进行原子操作
评分及理由
(1)得分及理由
得分:2分(满分4分)
理由:学生指出了两处错误中的一处(退出区应设置lock为FALSE),但未修正进入区的轮询逻辑(未将if改为while)。此外,学生提到“key为True时进程能进入临界区”是现象描述而非错误修正,未直接对应标准答案的修改点。
(2)得分及理由
得分:3分(满分3分)
理由:学生正确指出函数调用无法保证原子性,并提到需通过mutex实现原子操作,与标准答案中“Swap需硬件实现原子性”的核心结论一致,逻辑完整。
题目总分:2+3=5分
登录后发布评论
暂无评论,来抢沙发