我是 java.util.concurrent.Future 的新手,有一些问题。如果我使用 Future 调用服务,我如何知道使用什么元素来调用服务?
这是一个例子:
对于每个 id,我使用 java.util.concurrent.Future 调用服务来填充一些额外的数据。
Collection< Future< ObjectX>> future = new ArrayList< Future< ObjectX>>();
编辑###
List< ObjectY> serviceResult= new ArrayList< ObjectY>(); for (ObjectX obj: ids) { future.add(getAsyncInfo(obj); } //Because I have a lot of ids i need to call the service @async @Async public Future< ObjectY> getAsyncInfo(ObjectX obj){ return new AsyncResult<ObjectY>(callService(obj)); ... }
得到响应
for (Future<ObjectY> futureResult : future)
{
serviceResult.add(futureResult.get());
}
在这个阶段我有一个结果列表,我不知道什么结果属于什么 id
ids.get(0).setResult(serviceResult.get(0))????
ids.get(0).setResult(serviceResult.get(1))????
ids.get(0).setResult(serviceResult.get(2))????
...
谢谢!