Java并发-读锁/写锁

这篇看一下JUC包提供的读写锁(共享锁/独占锁)。

之前我们都知道在一个变量被读或者写数据的时候每次只有一个线程可以执行,那么今天我们来看一下读写锁,读写两不误ReadWriteLock

这里有两个概念:

独占锁:

指该锁一次只能被一个线程所持有。(ReentrantLock和Synchronized都属于独占锁)。

共享锁:

指该锁可被多个线程所持有。

ReentrantReadWriteLock其读锁是共享锁,共写锁是独占锁。

读锁的共享锁可以保证并发读是非常高效的,读写,写读,写写的过程是互斥的。

直接使用ReentrantReadWriteLock写段代码看一下:

阅读更多