队列安全操作
我们都知道 Arraylist,add操作时不安全的,没有加锁
1.使用 Vector,里面的操作是加了锁的
2.使用Collections.synchronizedList() ,他里面的操作也是加了锁的,类似装饰者,给需要同步的操作加锁,迭代器没有做同步,Vector的迭代器做了同步
3.CopyOnWriteArrayList,添加时直接加lock锁,copy数组,扩容一个长度,每次添加都会是一个新的array,访问速度大大提升,适合写少读多的场景,读写分离
我们都知道 Arraylist,add操作时不安全的,没有加锁
1.使用 Vector,里面的操作是加了锁的
2.使用Collections.synchronizedList() ,他里面的操作也是加了锁的,类似装饰者,给需要同步的操作加锁,迭代器没有做同步,Vector的迭代器做了同步
3.CopyOnWriteArrayList,添加时直接加lock锁,copy数组,扩容一个长度,每次添加都会是一个新的array,访问速度大大提升,适合写少读多的场景,读写分离
上一篇更回味
下一篇更精彩
这就是我
文章
分类
访问量
建站天数
评论区