日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

預(yù)防死鎖的方法


預(yù)防死鎖的方法


很多人都在問預(yù)防死鎖的方法 , 今天就給大家講解一下預(yù)防死鎖的方法 。
1、避免一個(gè)線程同時(shí)獲取多個(gè)鎖 。
2、避免一個(gè)線程在鎖內(nèi)同時(shí)占用多個(gè)資源 , 盡量保證每個(gè)鎖只占用一個(gè)資源 。
【預(yù)防死鎖的方法】3、嘗試使用定時(shí)鎖 , 使用Lock.tryLock(timeout)來替代使用內(nèi)部鎖機(jī)制 。
4、對(duì)于數(shù)據(jù)庫鎖 , 加鎖和解鎖須在一個(gè)數(shù)據(jù)庫連接里 , 否則會(huì)出現(xiàn)解鎖失敗的情況 。
產(chǎn)生死鎖的原因主要是:
1、因?yàn)橄到y(tǒng)資源不足 。
2、進(jìn)程運(yùn)行推進(jìn)的順序不合適 。
3、資源分配不當(dāng)?shù)?。
如果系統(tǒng)資源充足 , 進(jìn)程的資源請(qǐng)求都能夠得到滿足 , 死鎖出現(xiàn)的可能性就很低 , 否則就會(huì)因爭奪有限的資源而陷入死鎖 。其次 , 進(jìn)程運(yùn)行推進(jìn)順序與速度不同 , 也可能產(chǎn)生死鎖 。產(chǎn)生死鎖的四個(gè)必要條件:
1、互斥條件:一個(gè)資源每次只能被一個(gè)進(jìn)程使用 。
2、請(qǐng)求與保持條件:一個(gè)進(jìn)程因請(qǐng)求資源而阻塞時(shí) , 對(duì)已獲得的資源保持不放 。
3、不剝奪條件:進(jìn)程已獲得的資源 , 在末使用完之前 , 不能強(qiáng)行剝奪 。
4、循環(huán)等待條件:若干進(jìn)程之間形成一種頭尾相接的循環(huán)等待資源關(guān)系 。
這四個(gè)條件是死鎖的必要條件 , 只要系統(tǒng)發(fā)生死鎖 , 這些條件必然成立 , 而只要上述條件之一不滿足 , 就不會(huì)發(fā)生死鎖 。

    推薦閱讀