多線程死鎖的預防和避免&開發中的注意事項

死鎖的定義 在一組進程發生死鎖的情況下,這組死鎖進程中的每一個進程,都在等待另一個死鎖進程所佔有的資源。或者說每個進程所等待的事件是該組中其他進程釋放所佔有的資源。 舉個例子:如果此時有一個線程A,按照先鎖a再獲得鎖b的的順序獲得鎖,而在此同時又有另外一個線程B,按照先鎖b再鎖a的順序獲得鎖。這時線程A獲取了鎖a,線程B獲取了鎖b,線程A想要繼續獲取鎖b,但是鎖b被線程B佔有;線程B想要繼續獲取鎖
相關文章
相關標籤/搜索