以下用于互斥问题的算法不满足互斥属性。它满足了僵局,饥饿吗?而且在没有争用的情况下它是否正确运行?第二次尝试?
int p=1;
int q=1;
process P process Q
while(true){ while(true){
a1 : nonCriticallSection1; a2 : nonCriticallSection1;
b1 : while (q !=1){ do nothing} b2 : while (p !=1){ do nothing}
c1 : p=0; c2 : q=0;
d1 : critical section d2 : critical section
e1 : p=1; e2 : q=1;
} }
end P; end Q;
如果这是家庭作业,请添加'家庭作业'标签。另外,请澄清你的问题,我不知道如何“满足僵局”。 – thiton 2011-12-28 12:03:35