List<Future<Long>> 的问题
import java.util.ArrayList;
import java.util.FormatFlagsConversionMismatchException;
import java.util.List;
import java.util.concurrent.*;
public class FutureList {
public static void main(String[] args) throws ExecutionException, InterruptedException {
ExecutorService pool = Executors.newFixedThreadPool(2);
List<Future<Long>> list = new ArrayList<Future<Long>>();
for(int i=0;i<4;i++){
Future<Long> submit = pool.submit(new Callable<Long>() {
public Long call() throws Exception {
Long a = System.currentTimeMillis();
Thread.sleep(5000);
System.out.println("33--" + Thread.currentThread().getName() + "--->" + a);
return a;
}
});
list.add(submit);
}
System.out.println("11----" + list.size());
for(Future<Long> fut:list){
System.out.println("22---" + list.size() + "---fut.isDone:" + fut.isDone());
System.out.println(Thread.currentThread().getName()+"---"+fut.get());
}
}
}