问题 问答题

判断以下解决双进程临界区问题的算法是否正确:
Process Pi(i=0,1);
Do
flag[i]=true;
while(flag[1-i]);
critical section
flag[i]=false;
remainder section
while(1);

答案

参考答案:错误。当两个进程将flag都设为true以后,两个进程都在while语句上形成死循环。

单项选择题
单项选择题