作者work76 (work)
看板Grad-ProbAsk
標題[理工] [OS]-同步問題
時間Sun Mar 21 14:00:11 2010
do {
while(flag[j]);
flag[i]=true;
c.s
flag[i]=false;
r.e
}while(1)
這個程式沒有滿足進入,但是滿步bounded waiting,不過mutual exclusion到底有滿足
嗎?覺得是有,因為i和j階為true時,皆進不去,i想進j不想進i進,j想進i不想進j進,
兩者都不想進,所以滿足,是對的嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.137.29.88
推 gensim:證mutual exclusion一定是先假設有1個process在CS了 03/21 14:19
→ gensim:在這裡假設process 0在CS 則flag[0]=true 03/21 14:20
→ gensim:若process1要進入CS則檢查flag[0]就會停在while迴圈 03/21 14:22
→ work76:哦!了解,所以p1會在while,是滿足mutual exclusion 03/21 14:31
推 gensim:YES~ 03/21 14:34