我正并行向某些服务器发送请求,但它们的响应并非同时出现。我必须在HTML页面上显示响应。一种方法是等待所有响应以及所有响应到达时,向他们展示。我要做的是一旦出现回应,不要等待其他响应。粗糙的算法看起来像:
while(all the responses don't come or timeout occurs)
waitForResponse();
if(responseArrived==true){
//put it on html page
}
}
我该如何在Java中进行?
听起来好像您正在寻找期货。它们允许您创建一个并行任务,该任务将花费所有需要执行的时间,并获得方法,如果尚未完成任务,则可以返回null,因此您可以编写
之类的东西。while(!future.isDone()){
Thread.sleep(1000);
}
退出周期后使用future.get();
还有更多,所以请通过本文查看,它很小,但完全适合您要求的