Warten auf Serverantwort

Hallo,

ich muß in einer Schleife immer eine anfrage an den Server machen.
Die Kommunikation mit dem Server geht über ein Servlet.

Mein Problem ist nun, dass ich eine Möglichkeit brauche um die Schleifendurchläufe zu verzögern bis die Serveranfrage fertig ist.

Zur Zeit mache ich dies über eine zusätzliche WHILE-Schleife
d.h. while(serverCommunication). Ich setze also bei Verbindungsaufbau zu Server eine Variable auf true und bei Verbindungsende auf false.
Die WHILe-Schleife wird dann also solange durchlaufen bis sie auf false trifft. Diese „unschöne“ Art des Wartens zieht u.U. sehr viel CPU. Ich dachte auch schon daran zusätzlich in die WHILE-Schleife einen Thread.sleep(1000) einzubaune. Irgendwo habe ich aber mal gelesen, dass die u.U. zu anderen Problemen führen kann.

Ich dachte auch schon an die Methode „invokeAndWait“. Leider weiß ich nicht genau wie man sie einsetzt. Meine Versuche diesbezüglich waren bisher erfolglos.

Habt Ihr noch eine Idee ?

Danke
Albert

Hallo Albert,

Du hast also zwei Threads, einer der mit dem Server kommuniziert und einen zweiten der warten soll bis der erste fertig ist?

Da brauchst du einfach Thread-Synchronisierung das ist ein Standard-Problem das sich in Java recht einfach lösen lässt.

In Suns Java Tutorial gibt es da einen guten Abschnitt dazu:
http://java.sun.com/docs/books/tutorial/essential/th…

Grüße, Robert