以下用於互斥問題的算法不滿足互斥屬性。它滿足了僵局,飢餓嗎?而且在沒有爭用的情況下它是否正確運行?第二次嘗試?
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