单项选择题
进程P0和P1的共享变量定义及其初值如下: boolean
flag[2]; int turn=0; flag[0]=false;
flag[1]=false; 若进程P0和P1访问临界资源的伪代码按照下面设计:
void P0(){//进程P0 void P1(){//进程P1
while(TRUE){
while(TRUE){ flag[0]=TRUE;
flag[0]=TRUE; turn=1;
turn=0;
while(flag[1]&&(turn==1))
while(flag[0]&&(turn==0)) 临界区;
临界区;
flag[0]=FALSE;
flag[1]=FALSE; }
} }
} }
}
则并发执行进程P0和P1时产生的情况是______。
A.不能保证进程互斥进入临界区,会出现“饥饿”现象
B.不能保证进程互斥进入临界区,不会出现“饥饿”现象
C.能保证进程互斥进入临界区,会出现“饥饿”现象
D.能保证进程互斥进入临界区,不会出现“饥饿”现象