作者:
kather (Kather)
2015-01-10 09:09:20monitor
有
signal and wait
signal and continue
前者是程式在monitor跑時遇到執行signal,就立刻等待讓被叫醒的執行
後者則是繼續作,被叫醒的要下次搶到monitor再執行
這樣理解有錯嗎?
我的問題是 第二種
恐龍上說
當被叫醒的再次執行時,對應的condition可能不是wait狀態,所以採用第一種,這是什
麼意思?
Deadlock
Resource-Allocation-Gragh Algo
書上說執行時間n平方
但是找cycle不是(n+e)嗎?
是因為邊最多Cn取2所以n平方嗎?
回答deadlock,如果依照bank Algo那種判斷的邏輯,RAG應該是用adjacent matrix實做,判斷cycle就需要n^2
作者:
kather (Kather)
2015-01-10 09:36:00囧? 用adj list會有什麼問題
沒問題,但複雜度就不會是n^2,我覺得只是恐龍書自己也沒講清楚RAG的圖是用甚麼方式實做,但延續bank的邏輯用matrix會比較好想吧
作者: shanbb (Moriz) 2015-01-10 10:10:00
自己一點點想法。當P繼續執行期間,可能改變被叫醒的可以恢復執行的條件。所以Q可能會錯過執行的機會。
其實signal and wait可細分成兩種 一個是signal and wait 另一是 signal and exit 後者就是你說的非wait狀態