1. 程式人生 > >共享鎖和排它鎖(ReentrantReadWriteLock)

共享鎖和排它鎖(ReentrantReadWriteLock)

     實際上對於鎖來說,在共享狀態下,一個執行緒無論是獲取還是釋放鎖的時候,都會試著去喚醒下一個等待在這個鎖上的節點(通過上面的doAcquireShared程式碼能看出)。如果下一個執行緒也是處於共享狀態等待在鎖上,那麼這個執行緒就會被喚醒,然後接著試著去喚醒下一個等待在這個鎖上的執行緒,這種喚醒動作會一直持續下去,直到遇到一個在排它狀態下阻塞在這個鎖上的執行緒,或者等待佇列全部被釋放為止。