线程中关于集合并发容器的代码
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;
/*
* 线程安全操作并发容器
*
*/
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();
}
//让主线程延时1秒,害怕线程没有运行完成,主线程就执行完毕了
Thread.sleep(1000);
System.out.println(list.size()); //发现有些数据丢掉了,显然是被覆盖了
}
}