返回主页
学习人数: 1.7k
stroke-dashoffset="59*2.6389" stroke-linecap="round" transform="rotate(-90 50 50)"/>
正确率: 59%
未通过

进程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. 能保证进程互斥进入临界区,不会出现“饥饿”现象

上面问题的答案是:
A A 选项
B B 选项
C C 选项
D D 选项
回答区域

登录后提交答案


暂无评论,来抢沙发