[理工] 101台大計系

看板Grad-ProbAsk作者 (萬能史哥)時間7年前 (2019/01/21 16:41), 編輯推噓0(0010)
留言10則, 3人參與, 7年前最新討論串1/2 (看更多)
小弟想請教幾個問題 https://imgur.com/VOFSNZi
(A) 不懂為什麼B會造成死結 我的理解: 設有P1 P2 P3 =>P1先wait(acct1) 其他P2 P3被鎖住 =>P1執行完amount[acct1]和amount[acct2] =>解開acct2 但P2 P3還是被鎖住 =>解開acct1 P2 P3一起進入使用變數 =>race condition 是這樣嗎 但它卻是說會造成deadlock 請問大大可以解釋一下嗎 然後這個程式碼 也會造成 race condition嗎? (B)也可以幫我解釋一下嗎 附上解答 https://imgur.com/HdX1Zw4
-- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 163.13.17.107 ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1548060077.A.D6A.html

01/21 17:18, 7年前 , 1F
解答上的例子是說P1持A P2持B 互相等待=>deadlock
01/21 17:18, 1F

01/21 17:19, 7年前 , 2F
一次只request一個就可以y拿掉hold-and-wait
01/21 17:19, 2F

01/21 18:11, 7年前 , 3F
這個是板上大神的答案 其實我也不知道對不對 因為前面幾
01/21 18:11, 3F

01/21 18:12, 7年前 , 4F
也有些沒正確 我想問一下 那我的邏輯有問題嗎
01/21 18:12, 4F

01/21 18:12, 7年前 , 5F
這樣是否會造成 race condition呢
01/21 18:12, 5F

01/21 18:18, 7年前 , 6F
一般來說v()應該是atomic所以你的例子的P2P3不會同時進
01/21 18:18, 6F

01/21 18:19, 7年前 , 7F
我是沒想到有race condition的例子
01/21 18:19, 7F

01/21 19:53, 7年前 , 8F
抱歉 不太懂 atonic是什麼意思 請大神可以解釋一下嗎
01/21 19:53, 8F

01/22 08:07, 7年前 , 9F
atomic 就是該操作做完前不會換人做。
01/22 08:07, 9F

01/22 13:52, 7年前 , 10F
謝謝兩位大神 那我懂了
01/22 13:52, 10F
文章代碼(AID): #1SHOMjrg (Grad-ProbAsk)
文章代碼(AID): #1SHOMjrg (Grad-ProbAsk)