Hallo,
ich habe eine Frage - evtl verzettele ich mich gerade an einem Punkt.
Eine meiner Klassen startet 3 Threads, die unterschiedliche Aufgaben abarbeiten. Nachdem alle Threads fertig sind, wird in der Klasse, die die Threads startet eine Variable gesetzt, die mir anzeigt, dass die Arbeit fertig ist.
Das ganze sieht so aus:
Die Packuploader Klasse startet die Threads. In dem oberen Codeschnippsel soll gewartet werden, bis die Abarbeitung fertig ist und mit dem nächsten Event aus dem Vector fortgefahren werden.
Die Threads verändern einen Fortschrittsbalken in der GUI und machen einige Berechnungen.
Wie kann ich diese Warteprozedur umsetzen? Bzw ist evtl meine Architektur an dem Punkt ganz falsch?
Danke!
ich habe eine Frage - evtl verzettele ich mich gerade an einem Punkt.
Eine meiner Klassen startet 3 Threads, die unterschiedliche Aufgaben abarbeiten. Nachdem alle Threads fertig sind, wird in der Klasse, die die Threads startet eine Variable gesetzt, die mir anzeigt, dass die Arbeit fertig ist.
Das ganze sieht so aus:
Java:
/**
* This will start the upload -> all steps are initiated from here
*/
public void startUpload()
{
// iterate over all selected events
for (int i = 0; i < getEventList().size(); i++)
{
Event currentEvent = getEventList().get(i);
// process only events with added pics
if(currentEvent.getEventPics().size() > 0)
{
PackUploader myPackuploader = new PackUploader( this, currentEvent );
myPackuploader.uploadPics();
// now wait until uploader is done before starting with next event
while(myPackuploader.isActive())
{
// HIER SOLL GEWARTET WERDEN
}
}
}
}
Die Packuploader Klasse startet die Threads. In dem oberen Codeschnippsel soll gewartet werden, bis die Abarbeitung fertig ist und mit dem nächsten Event aus dem Vector fortgefahren werden.
Die Threads verändern einen Fortschrittsbalken in der GUI und machen einige Berechnungen.
Wie kann ich diese Warteprozedur umsetzen? Bzw ist evtl meine Architektur an dem Punkt ganz falsch?
Danke!
Zuletzt bearbeitet: