单选题 26.关于临界区问题(critical section problem)有如下算法(假设只有进程PO和Pl可能进入该临界区),算法如下(i为0或1),该算法( )。
repeat
retry:if(turn≠一1)turn:=i;
if(turn≠i)go to retry;
turn:=一1:
critical section(临界区)
turn=0:
remainder section(其他区域)
until false;
【正确答案】 A
【答案解析】例如当PO执行完语句turn:=一l,刚好要进入临界区时,CPU又调度P1执行,Pl能够顺利进入临界区,不能满足互斥。当PO执行完临界区时,CPU调度P1执行,P1在retry循环,CPU调度PO执行,PO继续执行,重复以上过程,会导致P1“饥饿”。