zoukankan      html  css  js  c++  java
  • ArrayLLis 线程不安 实验

    这段代码演示了ArrayList的线程不安全,我让3个线程分别对list加入300个字符串,最后的arr的大小为800多,大家可以测试一下,我的一次是898,一次是897,同时还学了join的用法
    
    import java.util.ArrayList;
    
    class ArraySafe implements Runnable
    {
    	private ArrayList<String> array=null;
    	public ArraySafe(ArrayList<String> ar)
    	{
    		array=ar;
    	}
    	
    
    	@Override
    	public void run() {
    		// TODO Auto-generated method stub
    		//每个线程加入30个自己的名字到list
    		for(int i=0;i<300;i++)
    		{
    			array.add(Thread.currentThread().getName());
    			try {
    				Thread.sleep((long) (100*Math.random()));
    			} catch (InterruptedException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    			
    			
    		}
    		
    	}
    	
    
    }
    
    public class ArrayListVectorTest {
    
    	public static void main(String[] args) throws InterruptedException {
    		// TODO Auto-generated method stub
    		ArrayList<String> array=new ArrayList<String>(100);
    		ArraySafe as=new ArraySafe(array);
    		Thread t1=new Thread(as);
    		Thread t2=new Thread(as);
    		Thread t3=new Thread(as);
    		t1.start();
    		t2.start();
    		t3.start();
    		t1.join();
    		t2.join();
    		t3.join();
    		System.out.println(array.size());
    		
    
    	}
    
    }
    

      

  • 相关阅读:
    jQuery之五:CheckBox控制
    WinServer2003 设置之:xp风格
    ASP.net: cookie
    ASP.NET之:URL重写(转载)
    jQuery 之二:Ajax加载Json数据
    jQuery 之一:对象插件
    Asp.net:Form
    jQuery之四:Table过滤
    jQuery之三:Tab控制
    Opera 9.01 Build 8543
  • 原文地址:https://www.cnblogs.com/hansongjiang/p/3778714.html
Copyright © 2011-2022 走看看