问个关于List的多线程问题
对多线程会用一点,但好多都不是太清楚 
 我想实现下面的一个简单功能: 
          创建一个类,里面有一个静态的ArrayList,在run中往里面添加元素,再删除掉。 
          在一个主线程中创建这个类的多个实例,最后要求ArrayList是空的 
          我自己写了一个,可是都是出错的,不知道该怎么办。 
          下面是自己写的代码 
 ---------------------------------- 
 import   java.util.*; 
 import   java.util.concurrent.*;     
 class   ListTest   implements   Runnable{  	 
 	public   static   int   counter=0; 
 	public   final   int   id=counter++; 
 	int   innerCount=0; 
 	static   List <String>    list=Collections.synchronizedList(new   ArrayList <String> ());  	 
 	public   void   run(){  		 
 		synchronized(ListTest.class){ 
 			list.add(toString()); 
 			System.out.println(list.get(0)); 
 			list.remove(toString()); 
 		}  		 
 	}  	 
 	public   String   toString(){ 
 		return    "Task    "+id+ ":    "+(innerCount++); 
 	} 
 }     
 public   class   SynchronizedCollection   {   
 	/** 
 	   *   @param   args 
 	   *   @throws   Exception    
 	   */ 
 	public   static   void   main(String[]   args)   throws   Exception   {    		 
 		ExecutorService   exec=Executors.newCachedThreadPool(); 
 		for(int   i=0;i <10;i++) 
 			exec.execute(new   ListTest()); 
 		exec.shutdownNow();  		 
 		System.out.println( "============================== ");  		 
 		for(String   s:ListTest.list) 
 			System.out.println(s);  		 
 	}   
 }
------解决方案--------------------换vector试一试
------解决方案--------------------同意ls,vector是线程安全的,换下试试吧