mercredi 8 avril 2015
Threads Methode nebenbei ausführen, Status verarbeiten
Posted on 04:49 by verona
Hallo,
ich habe mir einiges zu Threads bzw zum Thema future durchgelesen und probiert. Da das Thema sehr neu für mich ist, stoße ich da gerade an meine Verständnisgrenzen.
Ich habe einen Button in meinem Programm (JavaFX Applikation), wenn ich diesen drücke dann soll ein Wartebalken kommen, im Hintergrund soll nun eine Methode gestartet werden welche mir viele Dateien übers Netzwerk umbenennt ( was sehr langsam ist). Wenn alle Dateien umbenannt sind, dann soll der Wartebalken wieder weg und eine Meldung zur Verarbeitung kommen.
Den Wartebalken(neue Stage mit progressbar) habe ich, die Meldung zur Verarbeitung dank Dialoge (seit 8u40) auch.
Führe ich das ganze "hintereinander" aus, ist es kein Problem und funktioniert, nur "hängt" sich das Programm während der Dateibearbeitung natürlich auf, bzw. reagiert nicht mehr bis alle Dateien umbenannt sind.
Das hängen des Programms wollte ich nun mit Nebenläufigkeit, Threads, futureTasks, was auch immer, lösen.
Nur stoße ich dabei auf ein kleines Problem wo ich nicht weiter komme.
Der Wartebalken kommt und geht sofort wieder, was natürlich auch verständlich ist.
Wie bekomme ich es nun hin, das die Methode Dialoge.closeWartebalken(); erst aufgerufen wird, wenn der Task fertig ist.
Ich habe schon versucht das Dialoge.closeWartebalken(); in den Task zu nehmen, allerdings macht er dann gar nichts. Hat wohl damit zu tun das mit der Task und JavaFX nicht so ganz hinhaut mit den Zugriffen.
ich habe mir einiges zu Threads bzw zum Thema future durchgelesen und probiert. Da das Thema sehr neu für mich ist, stoße ich da gerade an meine Verständnisgrenzen.
Ich habe einen Button in meinem Programm (JavaFX Applikation), wenn ich diesen drücke dann soll ein Wartebalken kommen, im Hintergrund soll nun eine Methode gestartet werden welche mir viele Dateien übers Netzwerk umbenennt ( was sehr langsam ist). Wenn alle Dateien umbenannt sind, dann soll der Wartebalken wieder weg und eine Meldung zur Verarbeitung kommen.
Den Wartebalken(neue Stage mit progressbar) habe ich, die Meldung zur Verarbeitung dank Dialoge (seit 8u40) auch.
Führe ich das ganze "hintereinander" aus, ist es kein Problem und funktioniert, nur "hängt" sich das Programm während der Dateibearbeitung natürlich auf, bzw. reagiert nicht mehr bis alle Dateien umbenannt sind.
Das hängen des Programms wollte ich nun mit Nebenläufigkeit, Threads, futureTasks, was auch immer, lösen.
Nur stoße ich dabei auf ein kleines Problem wo ich nicht weiter komme.
Java Code:
- Dialoge.showWartebalken();
- startFutureTask(m);
- Dialoge.closeWartebalken();
Der Wartebalken kommt und geht sofort wieder, was natürlich auch verständlich ist.
Wie bekomme ich es nun hin, das die Methode Dialoge.closeWartebalken(); erst aufgerufen wird, wenn der Task fertig ist.
Ich habe schon versucht das Dialoge.closeWartebalken(); in den Task zu nehmen, allerdings macht er dann gar nichts. Hat wohl damit zu tun das mit der Task und JavaFX nicht so ganz hinhaut mit den Zugriffen.
Threads Methode nebenbei ausführen, Status verarbeiten
Categories: Status verarbeiten, Threads Methode nebenbei ausführen
Inscription à :
Publier les commentaires (Atom)
0 commentaires:
Enregistrer un commentaire