问答题
判断以下解决双进程临界区问题的算法是否正确:
Process Pi(i=0,1);
Do
flag[i]=true;
while(flag[1-i]);
critical section
flag[i]=false;
remainder section
while(1);
【参考答案】
错误。当两个进程将flag都设为true以后,两个进程都在while语句上形成死循环。
点击查看答案
<上一题
目录
下一题>
热门
试题
问答题
以下是双进程临界区问题的算法,其中布尔型数组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);
点击查看答案
问答题
什么是P、V操作试用P、V操作描述读者一写者问题。要求允许几个阅读者可以同时读该数据集,而一个写者不能与其他进程(不管是写者还是读者)同时访问该数据集。
点击查看答案
相关试题
如下图所示,相交的四条单行线不幸塞车。根...
假设三个进程共享四个资源,每个进程一次只...
考虑由n个进程共享的具有m个同类资源的系统...
某系统有同类资源m个,供n个进程共享。如果...
设系统中有三种类型的资源(A、B、C)和五...