Aufgaben Dynamisch auf Pool von Threads verteilen.

Status
Nicht offen für weitere Antworten.

Johny

Mitglied
Ich habe nochnicht soviel mit Java gemacht, jetzt würde ich gerne eine Aufgabe auf Mehrere Threads verteilen die Dynamisch aufgeteilt werden.

Ich habe mir ein Thread klasse geschrieben

Code:
Class ProcessFileThread extends Thread{
....
/* run verabeitet eine datei*/
}

Ich habe eine Liste die ich iteriere

Code:
  while(itFiles.hasNext()){
         strFile = (String) itSites.next();
          ProcessFileThread t = new  ProcessFileThread(strFile);
      }

Gut soweit funktionierts auch, nun möchte ich jedoch gerne mehrere Files Paralell verarbeiten, und zwar nicht einfach via.
Code:
ProcessFileThread t2 = new  ProcessFileThread(strFile);
einen neuen Thread aufmachen sondern möglichst eine variable zahl nennen wir sie "ThreadSlots" (z.b. per config festgelegte zahl) an Threads parallel laufen lassen, und immer wenn einer von denen beendet ist einen neuen Thread starten, solange bis keine Files mehr dort sind.

Ich hab leider nichts wirklich konkretes gefunden an Lösungsvorschlägen,
wollte jetzt nen Tipp Haben in welche richtung das geht. Ich habe gesehen das es ThreadPool klassen gibt aber diese wirkten recht kompliziert.

Habe überlegt ob man evtl ne Thread Group anlegen kann und dann immer solange wartet bis die anzahl der aktiven Threads kleiner der ThreadSlots ist. Nur leider weiss ich nicht wie ich die Threads in eine Liste/Array/Collection packen kann.

Kann mir jemand einen tipp geben ?
MfG
Johny
 

Johny

Mitglied
Ich habe noch ein bischen weiter gesucht und dann dieses example
gefunden
Multiple Thread Ping

Hab es demnach jetzt so gelöst

Code:
int tpSize =10;
ThreadPoolExecutor tpe = new ThreadPoolExecutor(tpSize,tpSize,50000000L,TimeUnit.MILLISECONDS,new LinkedBlockingQueue());

while(itFiles.hasNext()){
         strFile = (String) itSites.next();
         tpe.execute(new  ProcessFileThread(strFile));
      }

einziges problem ich bekomme häufig einen momory error, was aber vielleicht auch am speicherverschwenderischen umgang liegt.

Gibt es noch eine besser methode ?

Edit:
so funktioniert das beispiel anscheinend nicht, der Memory, jedenfalls zeigt er mit im NetBeans mehrere laufende Threads sowie einen Memory Error an.
 
Zuletzt bearbeitet:

sliwalker

Top Contributor
Hi,

Du kannst auch eine syncronized Variable setzen, die die Threads zählt und einfach keinen aufmachen, wenn die Zahl erreich ist, beendet sich ein Thread, zähl die Variable wieder runter. Das ganze in einer "Endlosschleife".

Stichwort ist hier auch mutex und semaphoren.

greetz
SLi
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Hilfe bei Praktischen Aufgaben von Arrays Java Basics - Anfänger-Themen 39
Lacotto Java Kurs Aufgaben Hilfe Java Basics - Anfänger-Themen 14
A Aufgaben Java Basics - Anfänger-Themen 30
P9cman Tipps für Rekursive Aufgaben mit Strings oder allgemein Java Basics - Anfänger-Themen 2
U anfänger braucht hilfe . wir konnten die aufgaben nicht beantworten Java Basics - Anfänger-Themen 5
A Selbe Aufgaben stellung, andere Lösung Java Basics - Anfänger-Themen 7
K Java Aufgaben-Wie ran gehen? Java Basics - Anfänger-Themen 6
S Was für Aufgaben könnten sich hier hinter verbergen? Java Basics - Anfänger-Themen 5
A Java Aufgaben Java Basics - Anfänger-Themen 5
G Probleme bei Frame aufgaben Java Basics - Anfänger-Themen 6
V Erste Schritte Hilfe gesucht beim einstieg in Java und erste Aufgaben aus der Berufsschule Java Basics - Anfänger-Themen 9
S Schnelle Hilfe bei 2 kurzen Aufgaben benötigt Java Basics - Anfänger-Themen 2
D Collections Aufgaben Java-Programmierung Überforderung Java Basics - Anfänger-Themen 36
M Java Insel Aufgaben von der DVD gesucht Java Basics - Anfänger-Themen 2
A Threads Threads bestimmte Aufgaben zuweisen... Java Basics - Anfänger-Themen 3
C Erste Schritte Probleme bei Aufgaben zu Schleifen Java Basics - Anfänger-Themen 11
J Vererbung Wurden die Aufgaben richtig programmiert? Java Basics - Anfänger-Themen 20
N Java Aufgaben Java Basics - Anfänger-Themen 4
V Buch:Programmieren lernen mit Java-Aufgaben zu schwer ? Java Basics - Anfänger-Themen 2
M Klassen Hilfe bei Aufgaben Java Basics - Anfänger-Themen 5
K Button's mit versch. Aufgaben/ActionListener Java Basics - Anfänger-Themen 12
G OOP [Eilig] Biete 10€ für Lösung von 2 Grundlagen-Aufgaben Java Basics - Anfänger-Themen 6
M Problem/Unsicherheit bei Java-Aufgaben Java Basics - Anfänger-Themen 11
S Anfänger Aufgaben Java Basics - Anfänger-Themen 6
CR7 GUI-Aufgaben Java Basics - Anfänger-Themen 7
B Brauche Hilfe mit Aufgaben mit dem JavaEditor Java Basics - Anfänger-Themen 8
P Wie mehreren Threads Aufgaben zuweisen und abarbeiten lassen? Java Basics - Anfänger-Themen 15
D Zeitliche Aufgaben? Java Basics - Anfänger-Themen 3
S Herangehensweise an Aufgaben Java Basics - Anfänger-Themen 8
J Schleifen-Aufgaben Java Basics - Anfänger-Themen 6
L Java Programier Aufgaben für Anfänger Java Basics - Anfänger-Themen 5
B Was für Aufgaben haben die einzelne Entwurfsmuster? Java Basics - Anfänger-Themen 9
D Periodische Aufgaben erledigen in Webanwendung (Servlet/JSP) Java Basics - Anfänger-Themen 7
A Aufgaben zu OOP Java Basics - Anfänger-Themen 14
-horn- Wie "Module" für wiederkehrende Aufgaben machen? Java Basics - Anfänger-Themen 7
G 3. Aufgaben und komme nicht weiter (Felder, Methoden) Java Basics - Anfänger-Themen 3
K Hallo, Ich suche kleine Java Program-Aufgaben zum üben ? Java Basics - Anfänger-Themen 4
J Aufgaben Java Basics - Anfänger-Themen 25
J Tolle Aufgaben Stellung - wer kann helfen? Java Basics - Anfänger-Themen 12
J Hilfe zu 2 Aufgaben Java Basics - Anfänger-Themen 27
G Hilfe komme nicht weiter bei diesen aufgaben Java Basics - Anfänger-Themen 2
M Suche gute Anfänger "Aufgaben" Java Basics - Anfänger-Themen 8
T Suchen Anfänger-Aufgaben Java Basics - Anfänger-Themen 4
Z SGD Aufgaben Jav04 Java Basics - Anfänger-Themen 4
districon Dynamisch Programmierung/Backtracking/Memoization Java Basics - Anfänger-Themen 3
T Klassen Denkfehler im Klassen "dynamisch" instanzieren? Java Basics - Anfänger-Themen 4
J Verundung dynamisch gestalten Java Basics - Anfänger-Themen 21
B Folgende Abfrage dynamisch programmieren? Java Basics - Anfänger-Themen 8
R Datenbank-Werte dynamisch ausgeben Java Basics - Anfänger-Themen 19
D new arraylist (List) dynamisch erstellen Java Basics - Anfänger-Themen 1
B Klassen Klasse dynamisch laden. Java Basics - Anfänger-Themen 8
N Dynamisch erzeugtes Label wird nicht angezeigt, TextField schon Java Basics - Anfänger-Themen 1
D Koordinatensystem dynamisch anpassen Java Basics - Anfänger-Themen 17
J Tableview, ObservableList ein bisschen dynamisch Java Basics - Anfänger-Themen 6
C Array - Länge dynamisch übergeben Java Basics - Anfänger-Themen 7
D Erste Schritte Dynamisch Objekte erzeugen und diese durchsuchen Java Basics - Anfänger-Themen 7
GreyFox Object dynamisch mit werten versehen. Java Basics - Anfänger-Themen 4
G Array dynamisch ausgeben Java Basics - Anfänger-Themen 3
S JTable dynamisch mit Datenbankinhalten füllen Java Basics - Anfänger-Themen 6
F Erste Schritte If Bedingung in Schleife dynamisch erweitern Java Basics - Anfänger-Themen 4
K JLabel zur Laufzeit dynamisch erzeugen Java Basics - Anfänger-Themen 7
V Text aus einer .txt dynamisch ins applet einpassen Java Basics - Anfänger-Themen 0
Y Eingabe-Formular mit JSP dynamisch machen - j/n/wie? Java Basics - Anfänger-Themen 2
N Dynamisch JTree erstellen Java Basics - Anfänger-Themen 3
R Objekte dynamisch erstellen? Java Basics - Anfänger-Themen 14
C Variablen Array dynamisch halten und ausrechnen Java Basics - Anfänger-Themen 14
N Ergebnisse dynamisch in Tabelle schreiben Java Basics - Anfänger-Themen 3
G JObjekte dynamisch vom Server erzeugen lassen Java Basics - Anfänger-Themen 4
I Dynamisch erzeugten Buttons Methoden zuweisen Java Basics - Anfänger-Themen 6
H Objekte dynamisch erzeugen? Java Basics - Anfänger-Themen 6
M Variablen dynamisch variableninhalt von Object auslesen Java Basics - Anfänger-Themen 4
S if-Block dynamisch aufbauen Java Basics - Anfänger-Themen 5
M Static Variable "dynamisch" aufrufen? Java Basics - Anfänger-Themen 8
B Klassen Objekte während der Laufzeit dynamisch anlegen Java Basics - Anfänger-Themen 8
A JButtons dynamisch generieren mit verschiedenen actionhandlern Java Basics - Anfänger-Themen 6
P Scrollpane mit dynamisch erzeugten Komponenten Java Basics - Anfänger-Themen 3
U JPanel dynamisch gestalten Java Basics - Anfänger-Themen 7
R Liste graphischer Objekte z.B. JButton dynamisch erstellen Java Basics - Anfänger-Themen 13
A Dynamisch die Anzahl der Threads in der Cyclic Barrier ändern Java Basics - Anfänger-Themen 2
K Datentypen Full qualified Name dynamisch gestalten Java Basics - Anfänger-Themen 7
M For-Schleifen dynamisch generieren? Java Basics - Anfänger-Themen 10
sqsh statische jlabels dynamisch verwalten Java Basics - Anfänger-Themen 2
O Wie kann man das einfach lösen? (dynamisch viele Attribute) Java Basics - Anfänger-Themen 6
L Tray-Einträge und dazu passende ActionListener dynamisch erzeugen? Java Basics - Anfänger-Themen 2
D JPanel dynamisch anpassen Java Basics - Anfänger-Themen 5
S Dialog dynamisch vergrößern Java Basics - Anfänger-Themen 2
S Dynamisch Zeit auslesen Java Basics - Anfänger-Themen 11
M JTextPane dynamisch erzeugen Java Basics - Anfänger-Themen 2
D ArrayList dynamisch befüllen Java Basics - Anfänger-Themen 14
G Objekteigenschaften dynamisch erzeugen Java Basics - Anfänger-Themen 7
jnoob Checkbox in Dialog Dynamisch erstellen Java Basics - Anfänger-Themen 2
K suche nicht dynamisch Datenstruktur Java Basics - Anfänger-Themen 6
J ListModel dynamisch und schnell aber sicher ändern Java Basics - Anfänger-Themen 7
M Dynamisch Instanzen erstellen. Java Basics - Anfänger-Themen 4
G Zweidimensionales Array - dynamisch Java Basics - Anfänger-Themen 4
B arrays dynamisch vergrößern Java Basics - Anfänger-Themen 5
V Kundenklasse dynamisch erzeugen und id hochzählen? Java Basics - Anfänger-Themen 4
C Dynamisch durch alle Objektvariablen eines Objektes iteriere Java Basics - Anfänger-Themen 15
P JPanel dynamisch mit ActionListener verwalten Java Basics - Anfänger-Themen 3
R Arraygroesse dynamisch anpassen Java Basics - Anfänger-Themen 8

Ähnliche Java Themen

Neue Themen


Oben