您的位置:首页 > 其它

线程安全不安全的辅助理解,可以拿这个例子自己去运行看看

2015-07-09 18:11 363 查看
public class Test {
//LinkedList线程不安全
//List<Integer>list=new LinkedList<Integer>();
//Vector线程安全
List<Integer> list=new Vector<Integer>();

public static void main(String[] args)  {
Test test=new Test();

ThreadA tA = test.new ThreadA();
ThreadB tB = test.new ThreadB();

tA.start();
tB.start();
try{
tA.join();
tB.join();
}catch(InterruptedException e){
e.printStackTrace();
}
System.out.println("list size:"+test.list.size());

}
class ThreadA extends Thread{
@Override
public void run(){
super.run();
for(int i=0;i<100;i++){
list.add(i);
}
}
}
class ThreadB extends Thread{
@Override
public void run(){
super.run();
for(int i=0;i<100;i++){
list.add(i);
}
}
}
}


在list是Linkedlist的时候,无论怎么运行结果都不会是200,单如果要是用Vector实例出来的list结果总会是200.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: