看板 Grad-ProbAsk 關於我們 聯絡資訊
想請問一下,各位大神,可以清楚的說明的越詳細越好嗎,因為這個問題困擾小弟很久了QA Q https://i.imgur.com/hUpOlEb.jpg (1)小弟的想法是設i已經進去了,但因為lock被i的1替換掉,所以j卡在while裡面。 當i執行到lock為0時,j立馬可以跑出去while, 這樣不就滿足bounded waiting了嗎?(答 案是不滿足bounded waiting) https://i.imgur.com/rO30pfs.jpg https://i.imgur.com/RwkFkk9.jpg (2)接下來是成大這題的 algorithm(1) algorithm(3)的其中progress不懂寫的是什麼意 思。可以請大神講的越詳細越好嗎謝謝。 (3)我知道progress可以以是否為迴圈為判斷,但不一個會不會阻礙另外一個這個要怎麼 判斷呢?請大神指教感謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 110.28.227.242 ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1548763315.A.6B2.html
rockieloser: Algo1中 一個要進去只能靠另一個幫忙 01/29 21:08
rockieloser: 我不幫你改=我沒要進去C.S. 但另一個就進不去了 01/29 21:10
rockieloser: 這樣就是阻礙到了別人了 01/29 21:10
rockieloser: Algo3是哪邊不懂? 因為概念差不多 01/29 21:12
kaidi620: 所以是那一個 turn=j 是幫別人改的意思嗎 大神 01/30 19:32
kaidi620: 沒有拉 因為我不太懂QAQ 01/30 19:33
kaidi620: 可以問一下那第一題為甚麼不滿足 bounded waiting嗎大 01/30 19:43
Leaving: 就試試看同一支process有沒有辦法連續進去CS兩次 01/30 22:58
Leaving: (在另一支process想要進去的前提下) 01/30 22:58
Leaving: 如果可以就違反 01/30 22:59
Leaving: 這種題目通常同時只會有一個process在running state 01/30 23:02
Leaving: 所以釋出lock後另一個process不一定會搶到 可能還在ready 01/30 23:04
Leaving: 上面在說bounded waiting 01/30 23:11
Leaving: progress就看 若裡面沒人 是不是可以進去 01/30 23:12
Leaving: 這時要討論兩種case 01/30 23:13
Leaving: 1 另一個人沒有要進去 2另一個人也要進去 01/30 23:13
Leaving: 若都一定有人可以進得去就滿足 01/30 23:14
Leaving: turn想像成門的鑰匙 turn=j就是i把鑰匙丟給j了 01/30 23:23
Leaving: 假設現在CS是空的 i想要進去 就開始討論上面兩種情況看會 01/30 23:26
Leaving: 不會有進不去的狀況 01/30 23:26
Leaving: (啊現在在說成大的algo 1) 01/30 23:27
Leaving: 1.j沒有要進去 可是turn可能在j那裡 所以i進不去 就違反 01/30 23:28
Leaving: 了 01/30 23:28
Leaving: algo3也是差不多的討論法 01/30 23:30
kaidi620: 好的謝謝大神 02/07 20:24