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