并发下ArrayList不安全的解决办法,CopyOnWriteArraryList

并发下ArrayList不安全的解决办法,CopyOnWriteArraryList

1.为什么ArrayList不安全,Vector就安全呢?(你就开始想了,如果并发不出错,是不是得需要synchronized修饰add这个函数)

然后你点进add看看找到相应的ArrayList。add和Vector。add看看

并发下ArrayList不安全的解决办法,CopyOnWriteArraryList

这个时候,你会发现Vector的add有synchronized修饰(搞定)

但这个时候你就想,那为什么ArrayList的add没有synchronized修饰,开发者傻了吗???

两个文件往上找,你会发现Vector比ArrayList早开发,别人早就想到了。。。(开发者:你能想到的我怎么没想到呢。。。)

并发下ArrayList不安全的解决办法,CopyOnWriteArraryList

那个CopyOnWriteArrayList比Vector NB 在哪里呢?

ctrl+左键 点过去

1.CopyOnWriteArrayList.add -> 用lock
2.Vector.add               -> 用synchronized