---------------------- <a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>、<a href="http://www.itheima.com"target="blank">.Net培训</a>、期待与您交流! ----------------------
CompletionService可以用来提交一组Callable任务,其take方法返回已完成的一个Callable任务对应的Future对象
ScheduledExecutorService ses = Executors.newScheduledThreadPool(3);
CompletionService<String> completionService = new ExecutorCompletionService<String>(
ses);
for (int i = 0; i < 10; i++) {
final int task = i;
completionService.submit(new Callable<String>() {
@Override
public String call() throws Exception {
// TODO Auto-generated method stub
Thread.currentThread().sleep(20);
return task + "";
}
});
}
for (int i = 0; i < 10; i++) {
try {
String data = completionService.take().get();
System.out.println(data);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
---------------------- <a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>、<a href="http://www.itheima.com"target="blank">.Net培训</a>、期待与您交流! ---------------------