線程中關(guān)于集合并發(fā)容器的代碼
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;
/*
?* 線程安全操作并發(fā)容器
?*
?*/
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秒,害怕線程沒有運行完成,主線程就執(zhí)行完畢了
?? ??? ?Thread.sleep(1000);
?? ??? ?System.out.println(list.size());? //發(fā)現(xiàn)有些數(shù)據(jù)丟掉了,顯然是被覆蓋了
?? ?}
}
標(biāo)簽: