对多线程会用一点,但好多都不是太清楚
我想实现下面的一个简单功能:
   创建一个类,里面有一个静态的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);

}}