单项选择题
进程P0和P1的共享变量定义及其初值如下: boolean flag[2]; int turn=0; flag[0]=false; flag[1]=false; 若进程P0和P1访问临界资源的伪代码按照下面设计: void P0(){//进程P0 void PI(){//进程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.能保证进程互斥进入临界区,不会出现“饥饿”现象