读写锁ReentrantLock是一个标准的互斥锁,同一个时刻只有一个线程可以拥有锁,对于“读-读”操作,也不能实现。 读写锁在同一个时刻,允许多个读线程同时操作,但是只能有一个写操作。 读写锁可以选择使用公平锁 如果实现公平锁,当一个线程读的时候,有线程A想要申请写锁,那么其后所有的读线程都不能获取读锁,直到A释放锁。 可以从写锁降级成读锁,但是读锁不能升级成写锁(因为如果有两个读锁同时升级成写锁,那么二者都不释放读取锁。)