Java 獨佔鎖 共享鎖

2021-09-24 20:51:29 字數 297 閱讀 1147

獨享鎖和共享鎖在你去讀c.u.t包下的reereentrantlock和reentrantreadwritelock你就會發現,它倆乙個是獨享乙個是共享鎖。

獨享鎖:該鎖每一次只能被乙個執行緒所持有。

共享鎖:該鎖可被多個執行緒共有,典型的就是reentrantreadwritelock裡的讀鎖,它的讀鎖是可以被共享的,但是它的寫鎖確每次只能被獨佔。

對於獨享和共享,基於的點在於aqs,aqs的學習在以前就學習過,基本都是通過這個資料結構實現出來的。

另外讀鎖的共享可保證併發讀是非常高效的,但是讀寫和寫寫,寫讀都是互斥的。

Java 獨佔鎖 共享鎖

獨享鎖和共享鎖在你去讀c.u.t包下的reereentrantlock和reentrantreadwritelock你就會發現,它倆乙個是獨享乙個是共享鎖。獨享鎖 該鎖每一次只能被乙個執行緒所持有。共享鎖 該鎖可被多個執行緒共有,典型的就是reentrantreadwritelock裡的讀鎖,它的讀...

獨佔鎖與共享鎖

原始碼分析 獨佔鎖和共享鎖同樣是一種概念。我們先介紹一下具體的概念,然後通過 reentrantlock 和 reentrantreadwritelock 的原始碼來介紹獨佔鎖和共享鎖。獨佔鎖也叫排他鎖,是指該鎖一次只能被乙個執行緒所持有。如果執行緒t對資料a加上排他鎖後,則其他執行緒 能再對a加任...

mysql 獨佔鎖 mysql的獨佔鎖和共享鎖

當有多個事務同時更新一條sql時,mysql是如何處理的呢?很顯然,使用加鎖的方式,乙個事務獲得了鎖,進行操作,其他事務排隊乙個個等著,等當前這個事務執行完釋放鎖,其他事務獲取鎖取到鎖的進行操作。這裡的鎖就是獨佔鎖,也就是x鎖。那麼如果有查詢這一行資料時,是要加鎖嗎?不是的,mysql為了提高效能,...