Einzelnen Beitrag anzeigen

SvB

Registriert seit: 21. Okt 2004
Ort: Eckenroth
426 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#10

AW: WorkerThread erweitern

  Alt 27. Okt 2010, 22:12
Ich habe mich heute fast den ganzen Tag mit meinem Problem beschäftigt. Zuerst habe ich mit Mutex probiert, da sind aber andauernd Fehler gekommen und ich habe es irgendwie nicht rihtig verstanden. Dann habe ich mit CriticalSection und TryCiritcalSection beschäftigt, aber irgendwo hat mir auch da de Ansatz gefehlt.

Ich habe aber jetzt eine Lösung gefunden, die auch anscheinend funktioniert und ich glaube, dass ich es anders nicht hinbekommen hätte. Mit meiner aktuellen Lösung kann ich sogar einem Job mitteilen, wie oft er gleichzeitig ausgeführt werden soll, z.B. sage ich meinem JobA nichts, dann kann er beliebig oft ausgeführt werden, meinem JobB sage ich 2, dann wird er bei 10 Threads nur 2 mal gleichzeitig ausgeführt.
Ich habe das über eine zusätzliche TThreadList gemacht, in der ich die aktuell ausgeführten Jobs hineinlege.

Wen es interessiert, ich habe den Quellcode und das Beispiel beigefügt. Ich habe es unter Delphi XE angepasst und getestet.
Angehängte Dateien
Dateityp: zip WorkerThreadSvB.zip (92,3 KB, 35x aufgerufen)
Sven

Alle sagen, das geht nicht. Da kam einer, der wusste das nicht und hat es gemacht.
  Mit Zitat antworten Zitat