Skip to content

2010年 408 操作系统 第 27 题

操作系统2010年选择题2分

题目 ​

进程 P0 和 P1 的共享变量定义及其初值为

C
boolean flag[2];
int turn = 0;
flag[0] = FALSE;
flag[1] = FALSE;

若进程 P0 和 P1 访问临界资源的类 C 伪代码实现如下:

C
void P0() {
    while (TRUE) {
        flag[0] = TRUE;
        turn = 1;
        while (flag[1] && (turn == 1));
        临界区;
        flag[0] = FALSE;
    }
}
C

void P1() {
    while (TRUE) {
        flag[1] = TRUE;
        turn = 0;
        while (flag[0] && (turn == 0));
        临界区;
        flag[1] = FALSE;
    }
}

则并发执行进程 P0 和 P1 时产生的情形是( )。

最后更新:

🎬 可视化演示
加载中...

提示:可在可视化区直接操作播放、步进、修改参数