2017-02-15 15 views
0

一部のサーバに並列にリクエストを送信していますが、その応答は同時に発生しません。私はHTMLページでその応答を表示する必要があります。 1つの方法は、すべての応答を待って、すべての応答が到着したら、それらを表示することです。 私がしたいことは、応答が来たらすぐに表示し、他の応答を待つことではありません。大まかなアルゴリズムは次のようになります。サーバからの応答が動的に表示されます

while(all the responses don't come or timeout occurs) 
    waitForResponse(); 
    if(responseArrived==true){ 
     //put it on html page 
    } 
} 

Javaではどのようにすることができますか?

答えて

0

あなたが探しているような音はFuturesです。彼らはあなたがそれを実行する必要があるすべての時間がかかります並列タスクを作成することができ、タスクがまだ行われていない場合は、

while(!future.isDone()){ 
    Thread.sleep(1000); 
} 

など何かを書くことができますので、nullを返します方法を取得し、持っていますサイクルがfuture.get();

であなたの価値を得る出た後に、それまで以上ありますので、this記事を参照してください、それは小さいですが、まさにあなたは[、理論的に質問に答えることがあり、この一方で

+0

ことが考え求めているものをフィットここで答えの重要な部分を含めるには、(// meta.stackoverflow.com/q/8259)リンクを参照してください。 –

+0

@ cricket_007それを指摘していただきありがとうございます –

関連する問題