/**
* 解决ArrayList的三种方法
*/
//1. 线程安全 add 方法使用的是 synchronized 修饰,但其效率并不高
//List<String> list = new Vector<>();
//2. Collections 工具类转换成线程安全
//List<String> list = Collections.synchronizedList(new ArrayList<>());
//3. 复制在写入 , 内部源码使用新锁 Lock(推荐使用)
List<String> list = new CopyOnWriteArrayList<>();
for (int i = 0;i<20;i++){
new Thread(()->{
list.add(UUID.randomUUID().toString().substring(0,5));
System.out.println(list);
}).start();
}
解决ArrayList高并发问题
最新推荐文章于 2023-09-22 17:45:16 发布