Hallo allerseits,
in einem Java-Programm möchte ich mehrere Threads auf einmal starten, die eine Berechnung vornehmen.
Sobald ein Thread fertig ist, soll anhand des Berechungs-Ergebnisses festgestellt werden, ob ein weiterer Thread gestartet wird, oder nicht.
Wie löst man das am besten?
Meine bisherige Idee ist, dass ich im Berechnungs-Thread ein Event auslöse, das im Aufrufer-Objekt (der EventListener) abgehört wird. Allerdings wird diese Handler-Methode des Aufrufer-Objekts dann ja im Berechnungs-Thread ausgeführt, oder?
EDIT:
Eine Möglichkeit ist mir noch eingefallen. Ich könnte auch einen FutureTask nutzen und dann in meinem Aufrufer-Thread zyklisch auf das Ergebnis eines Threads für eine gewisse Zeit warten. Wenn der Thread 1 nach 1 Sekunde noch kein Ergebnis hat, dann checke ich Thread 2 usw. Aber ob das so schön ist ....
Gruss,
M_Kay
in einem Java-Programm möchte ich mehrere Threads auf einmal starten, die eine Berechnung vornehmen.
Sobald ein Thread fertig ist, soll anhand des Berechungs-Ergebnisses festgestellt werden, ob ein weiterer Thread gestartet wird, oder nicht.
Wie löst man das am besten?
Meine bisherige Idee ist, dass ich im Berechnungs-Thread ein Event auslöse, das im Aufrufer-Objekt (der EventListener) abgehört wird. Allerdings wird diese Handler-Methode des Aufrufer-Objekts dann ja im Berechnungs-Thread ausgeführt, oder?
EDIT:
Eine Möglichkeit ist mir noch eingefallen. Ich könnte auch einen FutureTask nutzen und dann in meinem Aufrufer-Thread zyklisch auf das Ergebnis eines Threads für eine gewisse Zeit warten. Wenn der Thread 1 nach 1 Sekunde noch kein Ergebnis hat, dann checke ich Thread 2 usw. Aber ob das so schön ist ....
Gruss,
M_Kay
Zuletzt bearbeitet: