Java併發面試問題之公平鎖與非公平鎖

非公平鎖 先來聊聊非公平鎖是啥,現在大家先回過頭來看下面這張圖。 如上圖,現在線程1加了鎖,然後線程2嘗試加鎖,失敗後進入了等待隊列,處於阻塞中。然後線程1釋放了鎖,準備來喚醒線程2重新嘗試加鎖。 注意一點,此時線程2可還停留在等待隊列裏啊,還沒開始嘗試重新加鎖呢! 然而,不幸的事情發生了,這時半路殺出個程咬金,來了一個線程3!線程3突然嘗試對ReentrantLock發起加鎖操作,此時會發生什麼
相關文章
相關標籤/搜索