package com.sxt.syn;
import java.util.ArrayList;
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.List;
/**
* 线程安全:操作并发容器
*
* @author
*
*/
public class SynContainer {
public static void main(String[] args) throws InterruptedException {
CopyOnWriteArrayList<String> list = new CopyOnWriteArrayList<String>();
for(int i=0;i<10000;i++) {
new Thread(()->{
list.add(Thread.currentThread().getName());
}) .start();
}
Thread.sleep(10000);
System.out.println(list.size());
}
}
注:在juc的并发编程中,list有对应的并发容器供我们使用,它内部实现了锁定,不用我们再去锁定。
import java.util.concurrent.CopyOnWriteArrayList;
保证工作内存和主内存相互拷贝的过程中能够正确的控制。
只要是涉及到并发编程操作容器的时候都可以想到【并发容器】。