AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Workerthreadpool Frage

Ein Thema von IMPEGA · begonnen am 16. Feb 2015 · letzter Beitrag vom 16. Feb 2015
Antwort Antwort
Dejan Vu
(Gast)

n/a Beiträge
 
#1

AW: Workerthreadpool Frage

  Alt 16. Feb 2015, 21:26
"A
Wie frage oder fange ich es ab wenn Alle Threads (Job's) fertig sind?
Ich habe es über Umwege abgefangen. Sprich meine Liste gezählt und wenn die Endzahl erreicht ist eben als fertig gemeldet.
Das ist aber nicht gerade eine schöne Methode.
Doch, eigentlich schon.

Aus Sicht des Threadpools gilt: Nach dem Job ist vor dem Job, oder einfacher ausgedrückt: Es gibt für ihn kein 'alles erledigt'. Wenn Du 30 Jobs zu erledigen hast, aber erst 10 in die Queue packst und später nochmal 10, dann ist der Pool zwischendurch mal 'fertig' bzw. ist die Queue leer, aber das heißt eben nicht, das nicht vielleicht doch noch etwas kommt.

Dein Ansatz ist also vollkommen richtig, denn nur der Aufrufer weiß, wann alle Jobs abgearbeitet sind.

Du kannst z.B. eine Variable XYZ auf 30 setzen und jeder Job dekrementiert diese Variable in seinem Destruktor mit 'InterlockedDecrement' (=Threadsicher). Wenn die bei 0 ist, bist Du fertig.

Geändert von Dejan Vu (17. Feb 2015 um 06:45 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:22 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz