Java并发中代替ArrayList保证线程安全的三种方法

一、使用JDK1.0发布的Vector类,因为底层方法使用了synchronized关键字,效率较低,不推荐使用。

  List<String> list=new Vector<>();

二、使用集合类的顶层父类Collections类的synchronizedList()方法,传入参数为普通的Arraylist。

List<String> list=new ArrayList<>();
List<String> list2=Collections.synchronizedList(list);

三、JUC下的CopyOnWriteArrayList方法,底层采用写入时复制(推荐使用,性能比Vector高)

List<String> list=new CopyOnWriteArrayList<>();

猜你喜欢

转载自blog.csdn.net/Zhongtongyi/article/details/108875684