看了一些pv操作的例子,有一些基本原理不是想得很清楚。
有一個進程
while(true)
{
p(s);
......
v(s);
}
s的初值為1。
那么我的問題是,當多個該進程需要執行時,是否會造成死鎖呢。
我是這么想的:
當3個進程申請時,進行p操作,然后s就會變成-2,那么p操作不是就會阻塞掉嗎,都等待別的進程釋放s,造成了死鎖。
誰來反駁一下我。
看了一些pv操作的例子,有一些基本原理不是想得很清楚。
有一個進程
while(true)
{
p(s);
......
v(s);
}
s的初值為1。
那么我的問題是,當多個該進程需要執行時,是否會造成死鎖呢。
我是這么想的:
當3個進程申請時,進行p操作,然后s就會變成-2,那么p操作不是就會阻塞掉嗎,都等待別的進程釋放s,造成了死鎖。
誰來反駁一下我。
本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。