CopyOnWriteArrayList 还是把add方法上锁了,不像concurrentHashMap 是分段锁,只对线程操作的部分上锁。
CopyOnWriteArrayList是一个有趣的例子,它规避了只读操作(如get/contains)并发的瓶颈,但是它为了做到这点,在修改操作中做了很多工作和修改可见性规则。 此外,修改操作还会锁住整个List,因此这也是一个并发瓶颈。所以从理论上来说,CopyOnWriteArrayList并不算是一个通用的并发List。
java里没有通用有效率的线程安全arrayList
分析CopyOnWriteArrayList 转载:
http://ifeve.com/why-is-there-not-concurrent-arraylist-in-java-util-concurrent-package/
分析AtomicInteger 转载:
https://blog.csdn.net/u012734441/article/details/51619751