CompletionService的简单应用
ExecutorService service = Executors.newFixedThreadPool(10);
CompletionService<Integer> completionService = new ExecutorCompletionService<Integer>(service);
//开始任务
for(int j=1;j<=10;j++){
final int seq = j;
completionService.submit(new Callable<Integer>(){
public Integer call() throws Exception {
Thread.sleep(new Random().nextInt(5000));
return seq;
}});
}
//提取任务结果
for(int m =0 ;m<10;m++){
System.out.println(
completionService.take().get());
}