队列安全操作

我们都知道 Arraylist,add操作时不安全的,没有加锁

1.使用 Vector,里面的操作是加了锁的

2.使用Collections.synchronizedList() ,他里面的操作也是加了锁的,类似装饰者,给需要同步的操作加锁,迭代器没有做同步,Vector的迭代器做了同步

3.CopyOnWriteArrayList,添加时直接加lock锁,copy数组,扩容一个长度,每次添加都会是一个新的array,访问速度大大提升,适合写少读多的场景,读写分离