网上讲到CopyOnWriteArrayList读写分离,看了一下,是写的时候使用了ReentrantLock,读的过程中,新增一个副本;但是在写的过程中还可以进行读,那么这个锁ReentrantLock持有的锁对象(这也是一个疑问?ReentrantLock到底持有的什么)为什么还允许别的进程读???换成Synchronized可不可以??
http://blog.csdn.net/ouyang111222/article/details/73105086
个人理解, 读的时候调用的getArray()方法,并没有加锁, 所以不影响并发读, 换成Synchronized也是一样的