/**
* 解决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();
}
参与评论
您还未登录,请先
登录
后发表或查看评论
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交