【发布时间】:2015-04-14 23:16:32
【问题描述】:
我正在使用 spring @Async 对同一方法/后端进行并行调用。有没有一种干净的方法可以将他们的结果加入列表中?这是我提出的用于调用/合并结果的伪代码,但我不确定这是最干净的方式。
List<Future<String>> futureStringList = new ArrayList<Future<String>>();
for(each backend call){
Future<String> futureString = backend.retrieve();
futureStringList.add(futureString);
}
List<String> actualStringList = new ArrayList<String>();
while(!futureStringList.isEmpty()){
for(Future<String> futureString: futureStringList){
if(futureString.isDone()){
actualStringList.add(futureString.get());
futureStringList.remove(futureString);
}
}
}
【问题讨论】:
标签: java spring asynchronous parallel-processing