如何保证ArrayList对象线程安全呢?
下文笔者讲述保证Arraylist对象线程安全的方法分享,如下所示
ArrayList简介
ArrayList是一个底层使用数组对象对数据进行存储的集合 它可以自动扩容对象的大小
ArrayList保证线程安全的方法:
1.使用collentions.synchronizedList()方法
为ArrayList加锁
2.使用Vector,Vector底层与Arraylist相同
但是每个方法都由synchronized修饰,速度很慢
3.使用juc下的CopyOnWriterArrayList
该类实现了读操作不加锁
写操作时为list创建一个副本
期间其它线程读取的都是原本list
写操作都在副本中进行
写入完成后,再将指针指向副本
采用读写分离的模式提高效率,并实现线程安全
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


