安全的ArrayList

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;
	}

	@Override
	public 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;
	}

	@Override
	public 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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值