Einzelnen Beitrag anzeigen

Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.346 Beiträge
 
Delphi 11 Alexandria
 
#11

AW: TObjectList-Einträge auf meherere Threads aufteilen

  Alt 19. Jan 2021, 13:02
In meinem Fall also?
Delphi-Quellcode:
TParallel.For(MainProcessFileList_ObjectList.Count div MaxThreadCount, 1, MainProcessFileList_ObjectList.Count,
 procedure(Index: Integer)
  begin
   // Bearbeite Listeneintrag[Index]
  end);
Das geht so, aber dann musst du Listeneintrag[Index - 1] bearbeiten, denn schließlich zählt die Schleife ja von 1 los. Deshalb solltest du die lieber bei 0 loslaufen lassen und bis Count - 1 laufen lassen wie es üblich ist. Ansonsten stimmt das, ja.

Das Execute ist egal und tut nichts zur Sache. Den Code davon ändere ich ohnehin nicht.
Wenn dort dann die Dateien von der Festplatte gelesen werden, wird die Aufteilung in Threads das ganze eben wie gesagt eher langsamer machen, es sei denn die Verarbeitung dauert deutlich länger als das Lesen von der Festplatte. Das ist aber oft gar nicht so.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat