问答题
以下是双进程临界区问题的算法,其中布尔型数组blicked[2]初始值为false,false,整型turn初始值为0,id代表进程编号(0,1),请说明是否正确。
do
blocked[id]=true;
while(turn!=id)
while(blocked[1-id]);
turn=id;
//编号为id的进程的临界区
blocked[id]=false;
//编号为id的进程的非临界区
while(true);
【参考答案】
正确。由turn的值决定哪个进程进入临界区。
点击查看答案
<上一题
目录
下一题>
热门
试题
问答题
静态优先数与动态优先数的区别是什么
点击查看答案
问答题
判断以下解决双进程临界区问题的算法是否正确: Process Pi(i=0,1); Do flag[i]=true; while(flag[1-i]); critical section flag[i]=false; remainder section while(1);
点击查看答案
相关试题
没有运行进程,有2个就绪进程,有n-2个...
有一个运行进程,有n-1个就绪进程,没有...
进程可能同时处于某几种基本状态中。
由于线程不作为资源分配单位,线程之间可以...
作业A的进程B处于阻塞状态,作业A也一定处...