Java核心知識 多線程併發 ReadWriteLock 讀寫鎖(十四)


Java核心知識 多線程併發 ReadWriteLock 讀寫鎖(十四)

為了提高性能,Java 提供了讀寫鎖,在讀的地方使用讀鎖,在寫的地方使用寫鎖,靈活控制,如 果沒有寫鎖的情況下,讀是無阻塞的,在一定程度上提高了程序的執行效率。讀寫鎖分為讀鎖和寫 鎖,多個讀鎖不互斥,讀鎖與寫鎖互斥,這是由 jvm 自己控制的,你只要上好相應的鎖即可。

讀鎖

如果你的代碼只讀數據,可以很多人同時讀,但不能同時寫,那就上讀鎖

寫鎖

如果你的代碼修改數據,只能有一個人在寫,且不能同時讀取,那就上寫鎖。總之,讀的時候上 讀鎖,寫的時候上寫鎖!

Java 中 讀 寫 鎖 有 個 接 口 java.util.concurrent.locks.ReadWriteLock , 也 有 具 體 的 實 現 ReentrantReadWriteLock。


分享到:


相關文章: