进程P0和P1两个进程的共享变量定义及其初值为:
Boolean flag2];
Int turn=0;
Flag0]= FALSE;
Flag1]= FALSE;
若进行P0和P1访问临界资源的类C伪代码实现如下:
Void p0()// 进程p0
{
While(TRUE)
{
Flag0]=TRUE;turn=1;
While (flag1] && (turn==1));
临界区;
flag0]=FALSE;
}
}
Void p1()// 进程p1
{
while(TRUE)
{
Flag1]=TRUE; turn=0;
while (flag0] && (turn==0));
临界区;
flag1]=FALSE;
}
}
则并发执行进程P0和P1时产生的情况是( )。
选项:
A:不能保证进程互斥进入临界区,会出现“饥饿”现象
B:不能保证进程互斥进入临界区,不会出现“饥饿”现象
C:能保证进程互斥进入临界区,会出现“饥饿”现象
D:能保证进程互斥进入临界区,不会出现“饥饿”现象
发布时间:2024-06-24 12:14:54