国产亚洲精品高清一区,新的哥哥免费全集在线观看,素人 国产 麻豆 极品,久久精品久久久久99国产,超碰在线观看资源97,亚洲人妻超碰91一区二区,久久精品国产亚洲av成人动漫,蜜臀av污黄在线播放全过程,成人国产av精品免费网

首頁(yè) > 科技 > 正文

線程死鎖怎么解決(線程死鎖)-全球資訊

2022-12-23 09:14:09 來(lái)源:關(guān)注網(wǎng)

1、產(chǎn)生死鎖的原因主要是 因?yàn)橄到y(tǒng)資源不足。


(資料圖片僅供參考)

2、 進(jìn)程運(yùn)行推進(jìn)的順序不合適。

3、 資源分配不當(dāng)?shù)取?/p>

4、 如果系統(tǒng)資源充足,進(jìn)程的資源請(qǐng)求都能夠得到滿(mǎn)足,死鎖出現(xiàn)的可能性就很低,否則就會(huì)因爭(zhēng)奪有限的資源而陷入死鎖。

5、其次,進(jìn)程運(yùn)行推進(jìn)順序與速度不同,也可能產(chǎn)生死鎖。

6、 產(chǎn)生死鎖的四個(gè)必要條件 互斥條件:一個(gè)資源每次只能被一個(gè)進(jìn)程使用。

7、 請(qǐng)求與保持條件:一個(gè)進(jìn)程因請(qǐng)求資源而阻塞時(shí),對(duì)已獲得的資源保持不放。

8、 不剝奪條件:進(jìn)程已獲得的資源,在末使用完之前,不能強(qiáng)行剝奪。

9、 循環(huán)等待條件:若干進(jìn)程之間形成一種頭尾相接的循環(huán)等待資源關(guān)系。

10、 這四個(gè)條件是死鎖的必要條件,只要系統(tǒng)發(fā)生死鎖,這些條件必然成立,而只要上述條件之一不滿(mǎn)足,就不會(huì)發(fā)生死鎖。

11、//這是線程死鎖的一個(gè)例子。

12、你看看吧public class 死鎖 implements Runnable{ public int number=1; static Object o1=new Object(); static Object o2=new Object(); Integer a=0; Integer a1=1; public void run() { System.out.println("number..."+number); if(number==1) { synchronized(a) { try { Thread.sleep(300); } catch (InterruptedException e) { e.printStackTrace(); } synchronized(a1){ System.out.println("11111111111111111"); } } } else { synchronized(a1) { try { Thread.sleep(300); } catch (InterruptedException e) { e.printStackTrace(); } synchronized(a){ System.out.println("222222222222222222222222222"); } }} } public static void main(String[] args) { 死鎖 E1=new 死鎖(); 死鎖 E2=new 死鎖(); E2.number=0; Thread t1=new Thread(E1); Thread t2=new Thread(E2); t1.start(); t2.start(); }}。

本文到此分享完畢,希望對(duì)大家有所幫助。



關(guān)鍵詞: 系統(tǒng)資源 必要條件

本網(wǎng)站由 財(cái)經(jīng)產(chǎn)業(yè)網(wǎng) 版權(quán)所有 粵ICP備18023326號(hào)-29
聯(lián)系我們:85 572 98@qq.com