楼主:
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状态