Java中的锁——ReentrantReadWriteLock(读写锁)

上一篇里讲的ReentrankLock是一种排他锁,即同一时间只能有一个线程进入。而读写锁在同一时刻容许多个读线程访问,可是在写线程访问时,全部的读线程和其余线程均被阻塞。读写锁维护了一对锁,一个读锁和一个写锁,经过分离读写锁,使得并发性比通常的排它锁有了很大提高。由于大多数应用场景都是读多于写的,所以在这样的状况下,读写锁能够提升吞吐量。下图描述了关于读写锁的三个特性:公平性、重入性和锁降级。j
相关文章
相关标签/搜索