Delphi-PRAXiS
Seite 3 von 3     123

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   TObjectList-Einträge auf meherere Threads aufteilen (https://www.delphipraxis.net/206682-tobjectlist-eintraege-auf-meherere-threads-aufteilen.html)

Uwe Raabe 21. Jan 2021 20:23

AW: TObjectList-Einträge auf meherere Threads aufteilen
 
Zitat:

Zitat von DieDolly (Beitrag 1481367)
Ich befülle die ObjectList aus dem Main-Thread heraus.
Erst dann erzeuge ich einen Thread, der mit der ObjectList (lesend) arbeitet.

:thumb:

himitsu 22. Jan 2021 11:22

AW: TObjectList-Einträge auf meherere Threads aufteilen
 
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


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:25 Uhr.
Seite 3 von 3     123

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz