ReentrantReadWriteLock类和ReentrantLock类的区别
java.util.concurrent.locks包定义了两个锁类,ReentrantLock和ReentrantReadWriteLock类。
当有很多线程都从某个数据结构中读取数据而很少有线程对其进行修改时,后者就很有用了。在这种情况下,允许读取器线程共享访问是合适的。当然,写入器线程依然必须是互斥访问的
下面是使用读/写锁的必要步骤:
(1) 创建一个ReentrantReadWriteLock对象
public void transfer(){writeLock.lock();try{...};finally{writeLock.unlock();}}