ReentrantReadWriteLock 是Lock的另一种实现方式,ReentrankLock是一种排他锁,同一时间只允许一个线程访问。而ReentrantReadWriteLock允许多个读多个线程同时访问,但是不运行写线程和多线程,写线程和写线程同时访问。相对于排他锁,提高了并发性。在实际应用中,大多数情况下对共享数据(如缓存)的文房都是读操作远多于写操作。这时ReentrantReadWriteLock能够提供比排他锁更好的并发性和吞吐量。
写线程
s_RWLock.writeLock().lock(); 有并发情况的代码段 s_RWLock.writeLock().unlock();
读线程
s_RWLock.readLock().lock(); 有并发情况的代码段 s_RWLock.readLock().unlock();