[26][12][单选]某地区有一座独木桥,每次只允许一个人过桥,因此,桥两边人员过桥时需要采取适当的方式避免冲突。当采用以下单标志算法时:
int Crossbridge(int c //过桥程序,c = 0 表示由南向北,c = 1 表示由北向南 { int turn = c; //标志 while (turn == c; //判断 Cross(; //过桥 turn = 1 - c; //重置标志为非 Leave(void; //离开 } 试问,程序中语句 turn == c 的作用是
临界资源访问过程中的临界区
临界资源访问过程中的退出区
临界资源访问过程中的进入区
临界资源访问过程中的剩余区
答案
临界资源访问过程中的退出区
解析
使用单标志法会设立一个公用整型变量 turn,描述允许进入临界区的进程标号。每个进程在进入临界区前先检查 turn 是否等于本进程标号,等于则进入临界区。while(turn == c语句是在进入检查临界量 turn 是否等于本进程标号,Cross(语句是临界资源访问过程中的临界区,turn = 1 - c 语句是在临界资源访问过程中的退出区,Leave(void语句是临界资源访问过程中的剩余区,故选 B 选项。
转载请注明出处。