安全的ArrayList

来源:互联网 发布:织梦5.7自动内链插件 编辑:程序博客网 时间:2024/05/17 04:37
package com.xiaozhi.thread;import java.io.IOException;import java.util.ArrayList;import java.util.Collections;import java.util.List;public class Test {public static void main(String[] args) throws IOException {//List<String>list=Collections.synchronizedList(new ArrayList<String>());List<String>list=new ArrayList<String>();//System.setOut(new PrintStream("c://xiaozhi.txt"));new MyThread1(list).start();new MyThread2(list).start();}}class MyThread1 extends Thread{private List list;public MyThread1(List list) {super();this.list = list;}@Overridepublic void run() {super.run();int num =0;while(true){try {Thread.sleep(10);} catch (InterruptedException e) {e.printStackTrace();}num++;list.add(num+"");System.out.println("增加"+num);}}}class MyThread2 extends Thread{private List list;public MyThread2(List list) {super();this.list = list;}@Overridepublic void run() {super.run();while(true){if(list.size()>0){System.out.println("删除"+list.remove(0));}}}}

会出现光增加不删除现象,

增加1增加2增加3增加4增加5增加6增加7增加8增加9增加10增加11增加12增加13增加14增加15增加16增加17增加18增加19增加20增加21增加22增加23增加24增加25增加26增加27增加28增加29增加30增加31增加32增加33增加34增加35增加36增加37增加38增加39增加40增加41增加42增加43增加44增加45增加46增加47增加48增加49增加50增加51增加52增加53增加54增加55增加56增加57增加58增加59增加60增加61增加62增加63增加64增加65增加66增加67增加68增加69增加70增加71增加72增加73增加74增加75增加76增加77增加78增加79增加80增加81增加82增加83增加84增加85增加86增加87增加88增加89增加90增加91增加92增加93增加94增加95增加96增加97增加98增加99增加100增加101增加102增加103增加104增加105增加106增加107增加108增加109增加110增加111增加112增加113增加114增加115增加116增加117增加118增加119增加120增加121增加122增加123增加124增加125增加126增加127增加128增加129增加130增加131增加132增加133

使用安全的ArrayList

增加1删除1增加2删除2增加3删除3增加4删除4增加5删除5增加6删除6增加7删除7增加8删除8增加9删除9增加10删除10增加11删除11增加12删除12增加13删除13增加14删除14增加15删除15增加16删除16增加17删除17增加18删除18增加19删除19增加20删除20增加21删除21增加22删除22增加23删除23增加24删除24增加25删除25增加26删除26增加27删除27增加28删除28增加29删除29增加30删除30增加31删除31增加32删除32增加33删除33增加34删除34增加35删除35增加36删除36增加37删除37增加38删除38增加39删除39增加40删除40增加41删除41增加42删除42增加43删除43增加44删除44增加45删除45增加46删除46增加47删除47增加48删除48增加49删除49增加50删除50增加51删除51增加52删除52增加53删除53增加54删除54增加55删除55增加56删除56增加57删除57增加58删除58增加59删除59增加60删除60增加61删除61增加62删除62增加63删除63增加64删除64增加65删除65增加66删除66增加67删除67增加68删除68增加69删除69增加70删除70增加71删除71增加72删除72增加73删除73增加74删除74增加75删除75增加76删除76增加77删除77增加78删除78增加79删除79增加80删除80增加81删除81增加82删除82增加83删除83增加84删除84增加85删除85增加86删除86


0 0