其他分享
首页 > 其他分享> > JUC集合

JUC集合

作者:互联网

List-CopyOnWriteArrayList

CopyOnWriteArrayList 写入时复制。cow,是计算机程序设计领域的一种优化策略。
多个线程并发调用list时,为解决写入的时候避免覆盖造成数据的问题,
写入的时候复制一个数据出来,写入后再插入进去

性能 vector(synchronized)<CopyOnWriteArrayList (cow Arrays.copyOf())

import java.util.*;
import java.util.concurrent.CopyOnWriteArrayList;

public class CopyOnWriteArrayListTest {
    public static void main(String[] args) {
       /* 线程不安全ArrayList => ConcurrentModificationException并发修改异常。
        List<String> list = new ArrayList<String>();*/

        //List<String> list = Collections.synchronizedList(new ArrayList<String>());
        //List<String> list = new Vector<String>();
        List<String> list = new CopyOnWriteArrayList<String>();
        for (int i = 0; i < 10; i++) {
            new Thread(() -> {
                list.add(UUID.randomUUID().toString().substring(0, 5));
                System.out.println(list);
            }, String.valueOf(i)).start();
        }
    }
}

 

标签:JUC,List,ArrayList,list,CopyOnWriteArrayList,集合,new,写入
来源: https://www.cnblogs.com/jzbl/p/16391800.html