Problem mit Threads
-
Ich habe ein Liste . Solange diese Liste gefüllt ist, werden die Threads gestartet, jeder Thread bekommt ein Elemtn der Liste. Der Thread fügt dann ein neues elemnt ein ( verändertes). Solange es halt geht. Deshalb weiß ich im vorfeld noch nicht wie viele threads ich strtaen muss
-
Wirft halt die Threads in eine Collection?!
MfG SideWinder
-
was meinst du damit
soll ich z.b die thread in eine arraylist ablgene
-
Genau, du startest jeden Thread und legst ihn in eine ArrayList. Sobald alle gestartet sind (also diese ursprüngliche Liste leer ist), kannst du beginnen in einer Schleife alle Threads zu joinen, das hängt dann zwar bei join() bis der erste fertig ist, aber das kann dir ja wie oben schon erwähnt egal sein, weil du sowieso auf das Ende aller Threads warten musst.
MfG SideWinder
-
Habe gerade auch noch die Klasse ThreadGroup gefunden, quasi eine Collection extra dafür. Gibt zwar (komischerweise...) keine join()-Methode für alle Sub-Threads, aber immerhin hat das ganze einen Namen.
Edit: ThreadGroup scheint ziemlich crappy zu sein, bleib bei der Collection-Methode.
MfG SideWinder
-
Besten Dank für die ausführliche beschreibung
werde es mal veruschen.
-
Hallo
ich habe das mit den Threads mal probiert. Frage bringt es überhaupt etwas Threads einzusetzen. Ich habe 3 kerne, habe aber den eindruck, dass es mit dem einsatz von threads nicht wirklich schneller geht
-
Fischkopf2009 schrieb:
Hallo
ich habe das mit den Threads mal probiert. Frage bringt es überhaupt etwas Threads einzusetzen. Ich habe 3 kerne, habe aber den eindruck, dass es mit dem einsatz von threads nicht wirklich schneller gehtDann machst du irgendwas falsch oder der Programmteil ist dafür nicht so gut geeignet. Ein typischer Fehler wäre z.B., Threads mit sehr geringer Laufzeit für jeden Teiljob neu zu erzeugen. Denn irgendwann killt der Overhead die Zeitersparnis. Man sollte lieber einmal 3 (bzw. Anzahl der Kerne) Threads erzeugen und die dann füttern.
-
Njaa ich erzeuge ca. über 1000 von solchen threads.
Aber du hast recht ich werde so 5 mir anlegen und die dann der reihe nach "füttern"
-
Fischkopf2009 schrieb:
Hallo
ich habe das mit den Threads mal probiert. Frage bringt es überhaupt etwas Threads einzusetzen. Ich habe 3 kerne, habe aber den eindruck, dass es mit dem einsatz von threads nicht wirklich schneller gehtFischkopf2009 schrieb:
Njaa ich erzeuge ca. über 1000 von solchen threads.
Aber du hast recht ich werde so 5 mir anlegen und die dann der reihe nach "füttern"
entbehrt jeder logik