1
通常的例子給出了三個過程,但它不應該是可能的只有兩個進程?是否有可能有優先級反轉有兩個進程?
讓我們假設我們有兩個進程,P3和P1。 p3的優先級小於p1。 p3目前處於使用p1所需資源的關鍵部分。 p1出現,p3被p1搶佔。但是,p3持有p1需要運行的資源。
這不是優先級反轉的2個流程的例子嗎?
通常的例子給出了三個過程,但它不應該是可能的只有兩個進程?是否有可能有優先級反轉有兩個進程?
讓我們假設我們有兩個進程,P3和P1。 p3的優先級小於p1。 p3目前處於使用p1所需資源的關鍵部分。 p1出現,p3被p1搶佔。但是,p3持有p1需要運行的資源。
這不是優先級反轉的2個流程的例子嗎?
不,不是這樣的。 p1
只會在嘗試獲取資源時阻止,這將允許p3
再次運行,完成使用資源並放棄它,從而解除阻止p1
。
維基百科的example of a priority inversion是一個很好的參考,它描述了爲什麼需要三個任務。
等待你是對的。我忽略了這個事實,我並沒有直截了當地想。我給出的例子實際上只是被阻止和(可能)死鎖的情況。 – dtgee