非公平鎖獲取 與 公平鎖的區別之處

第一點 下面是非公平鎖獲取鎖的方式, 假設現在程序獲取鎖的狀態如圖一所示, 同步隊列中的所有線程都在自旋的獲取鎖,假設這個時間點時候 頭節點剛好釋放鎖 並且 來了一個新的線程 A , 那麼A 線程在 Lock 方法中獲取到了鎖,這個時候,同步隊裏中的線程沒有獲取到鎖一直處於飢餓情況. 從這裏我們可以看出,公平鎖和非公平鎖的區別. 圖 1 第二點 公平鎖的獲取方式, 看lock 代碼 ,不管任何時候
相關文章
相關標籤/搜索