本文主要是介绍【吊打面试官系列】Java高并发篇 - ReadWriteLock 是什么 ?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
大家好,我是锋哥。今天分享关于 【ReadWriteLock 是什么 ?】面试题,希望对大家有帮助;
ReadWriteLock 是什么 ?
首先明确一下,不是说 ReentrantLock 不好,只是 ReentrantLock 某些时候有局限。
如果使用 ReentrantLock,可能本身是为了防止线程 A 在写数据、线程 B 在 读数据造成的数据不一致,但这样,如果线程 C 在读数据、线程 D 也在读数据,读数据是不会改变数据的,没有必要加锁,但是还是加锁了,降低了程序的性能。
1000道 互联网大厂Java工程师 精选面试题-Java资源分享网
因为这个,才诞生了读写锁 ReadWriteLock。ReadWriteLock 是一个读写锁接口,ReentrantReadWriteLock 是 ReadWriteLock 接口的一个具体实现,实现了读写 的分离,读锁是共享的,写锁是独占的,读和读之间不会互斥,读和写、写和读、写和写之间才会互斥,提升了读写的性能。
这篇关于【吊打面试官系列】Java高并发篇 - ReadWriteLock 是什么 ?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!