AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign TObjectList-Einträge auf meherere Threads aufteilen

TObjectList-Einträge auf meherere Threads aufteilen

Ein Thema von DieDolly · begonnen am 19. Jan 2021 · letzter Beitrag vom 22. Jan 2021
Antwort Antwort
Seite 3 von 3     123
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
8.796 Beiträge
 
Delphi 10.4 Sydney
 
#21

AW: TObjectList-Einträge auf meherere Threads aufteilen

  Alt 21. Jan 2021, 20:23
Ich befülle die ObjectList aus dem Main-Thread heraus.
Erst dann erzeuge ich einen Thread, der mit der ObjectList (lesend) arbeitet.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
38.709 Beiträge
 
Delphi 10.4 Sydney
 
#22

AW: TObjectList-Einträge auf meherere Threads aufteilen

  Alt 22. Jan 2021, 11:22
Delphi-Referenz durchsuchenTThreadList

Das ist keine Liste von Threads (TObjectList ist ja eine Liste von Objekten),
sondern es ist eine TList mit eingebauter Threadabsicherung. (also eigentlich eine TThreadsaveList)



Wieso Manuell aufteilen?
Lass die Einträge sich doch einfach dynamisch vereilen. (wer Zeit hat, der macht es)

* alle Aufgaben/Dateien in eine TThreadList
* dann X Threads starten (so viele, wie gewünscht)
* jeder Thread holt sich via ThreadList.Pop einwas raus
* * verarbeitet das
* * und wiederholt dann seine Schleife so oft, bis nichts mehr in der ThreadList drin ist
* dann kann er sich beenden (oder wartet, bis wieder was rein kommt, und arbeitet weiter)

Vorteile
* die ThreadList ist schon thread-sicher (hat die CriticalSection/Monitor bereits einbebaut)
* und wenn nicht alle Aufgaben gleich lange dauern, dann geht es auch schneller
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014

Geändert von himitsu (22. Jan 2021 um 11:24 Uhr)
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 19:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf