Zum Inhalt springen

ThreadPools und Queues


mdg2004

Empfohlene Beiträge

Hallo alle zusammen,

ich habe folgendes Problem:

Ich habe eine Reihe von Aufgaben / Tasks. Sagen wir 100 Stück.

(Hatte vor diese über Runable Objekte zu realisieren.)

Diese möchte ich nun parallel in "5er-Paketen" via 5 Threads abarbeiten.

Immer wenn einer dieser 5 Threads frei wird, also dessen momentan zugeordneter Task terminiert, soll ein neuer Task nachrücken, sodass stets 5 parallel am Laufen sind.

Wie realisiere ich so etwas am besten ?

Mit einem ThreadPool und einer Art Queue?

Ich steh gerade ein bisschen aufm Schlauch ... könnt ihr mir einen Tipp geben, was genau ich suche?

Vielen Dank schonmal!

Gruß

mdg2004

Link zu diesem Kommentar
Auf anderen Seiten teilen

evtl schaust Du Dir das mal an ThreadGroup (Java 2 Platform SE v1.4.2)

Aber was mich im Moment stört, dass Du immer 5 aktive Tasks haben willst und diese als Gruppe betrachteten möchtest. Mir ist der Zweck davon nicht klar. Warum 5 und nicht 10 oder 2. Vielleicht beschreibst Du mal die Problemstellung, damit evtl darüber nachdenken kann

Phil

Link zu diesem Kommentar
Auf anderen Seiten teilen

Danke.

Die Zahl ist nur ein Bsp. - es spielt eigentlich keine Rolle, wie viele es sind. 5 nehme ich deswegen, weil ich schätze das 5 meiner Tasks meinen Server genug auslasten / nicht überlasten würden. ;)

(Es werden Daten heruntergeladen, geparsed und weiterverarbeitet in so einem Task.)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich will einmal zu bedenken geben, wirklich gut über die "Parallelisierung" nachzudenken. Nur weil es parallel verarbeitet wird, ist es nicht schneller. Um eine gute Parallelisierung zu erreichen, solltest Du Dein Problem zunächst wirklich umfassend analysieren, denn z.B. wenn Du irgendwo einen Datenaustausch (Mutex) zwischen zwei Tasks hast, kann Dir das unter Umständen jeden Performancegewinn wieder zu nichte machen

Phil

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...