synchronized 可以认为默任为当前对像加了一把ReentrantLock锁,所以,会出现一个线程读另一个线程不能进入的现像 。因为只要线程进入就互斥,不论读写。
ReentrantReadWriteLock 其实是加了两把锁。写锁排斥读、写 ,读锁只排斥 写,所以能达到并发读的效果。
克服了synchronized 读互斥的缺点
所以说 ReentrantReadWriteLock 比synchronized 快