Hallo zusammen,
ich habe da ein kleines Problem...
Ich habe ein Programm das in zwei Threads per ExecutorService.execute() Daten einlesen. In den Threads wird dem Benutzer über ProgressMonitor der Fortschirtt der Aktion angezeigt. (Das ist auch der Grund warum ich das Einlesen in einen eigenen Thread ausgelagert habe).
Das klapt auch sehr gut. Nur soll das Programm jetzt warten bis alle Daten eingelesen werden. Darauf warte das Programm wie folgt:
Dumm nur das damit wieder verhindert wird das der ProgressMonitor aufgefrischt wird und somit die Info für den Anwender futsch ist.
Hat jemand einen Tipp für mich wie ich in der While- Schleife warten und gleichzeitig den Update des GUI's zulassen kann?
Danke.
ich habe da ein kleines Problem...
Ich habe ein Programm das in zwei Threads per ExecutorService.execute() Daten einlesen. In den Threads wird dem Benutzer über ProgressMonitor der Fortschirtt der Aktion angezeigt. (Das ist auch der Grund warum ich das Einlesen in einen eigenen Thread ausgelagert habe).
Das klapt auch sehr gut. Nur soll das Programm jetzt warten bis alle Daten eingelesen werden. Darauf warte das Programm wie folgt:
Code:
ExecutorService1.shutdown();
ExecutorService2.shutdown();
while (!ExecutorService1.isTerminated() || !ExecutorService2.isTerminated()) {
try {
TimeUnit.SECONDS.sleep(1L);
} catch (InterruptedException e1) {
e1.printStackTrace();
}
}
Dumm nur das damit wieder verhindert wird das der ProgressMonitor aufgefrischt wird und somit die Info für den Anwender futsch ist.
Hat jemand einen Tipp für mich wie ich in der While- Schleife warten und gleichzeitig den Update des GUI's zulassen kann?
Danke.