Hallo zusammen..
Ich hab da nen kleines Problem:
Mehrere Threads der Klasse T werden von Klasse A in ein Array gepackt.
In Klasse A soll erst weiter gearbeitet werden, wenn alle Threads abgearbeitet worden sind.
Und da hab ich jetzt das Problem..
Angenommen liste.length sei 10. a[0] wird gestartet, dabei könnte a[0] schon abgearbeitet sein, bevor a[9] erreicht wird. Wäre dann die 2te for Schleife noch richtig?
Was nicht geht (schon getestet):
Dabei würde a[0] gestartet und gewartet, bis a[0] zu ende ist..
Könnt ihr mir Helfen, was ich hier falsch mache, bzw. ob meine Lösung richtig ist - oder gibt es da noch etwas "eleganteres"?
Vielen Dank im Voraus..
Ich hab da nen kleines Problem:
Mehrere Threads der Klasse T werden von Klasse A in ein Array gepackt.
In Klasse A soll erst weiter gearbeitet werden, wenn alle Threads abgearbeitet worden sind.
Und da hab ich jetzt das Problem..
Java:
Thread [] a = new Thread[liste.length];
for(int i=0;i<liste.length;i++){
a[i] = new Thread();
a[i].start();
}
for(int i=0;i<liste.length;i++){
a[i].join();
}
Angenommen liste.length sei 10. a[0] wird gestartet, dabei könnte a[0] schon abgearbeitet sein, bevor a[9] erreicht wird. Wäre dann die 2te for Schleife noch richtig?
Was nicht geht (schon getestet):
Java:
for(int i=0;i<liste.length;i++){
a[i] = new Thread();
a[i].start();
a[i].join();
}
Dabei würde a[0] gestartet und gewartet, bis a[0] zu ende ist..
Könnt ihr mir Helfen, was ich hier falsch mache, bzw. ob meine Lösung richtig ist - oder gibt es da noch etwas "eleganteres"?
Vielen Dank im Voraus..