Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Besser Task oder Thread? (https://www.delphipraxis.net/211851-besser-task-oder-thread.html)

SearchBot 10. Nov 2022 12:05

Besser Task oder Thread?
 
Hallo :gruebel:

Ich möchte eine Funktion/Prozedur in meinem Programm ausführen, aber nicht warten, bis sie durch ist.
Sie soll also parallel zu meinem Hauptprogramm eine kleine Sache machen und dann enden.

Es kann sein, daß ich das mehrfach benötige, während die vorigen Aufrufe noch nicht beendet sind (sie werkeln also "zeitgleich").
Ein Array von TTimer würde wahrscheinlich klappen, aber derselbe Vorgang soll ja nicht periodisch ausgeführt werden, sondern nur 1x.

Mache ich das dann mit TTask oder TThread, oder nehme ich besser noch was ganz anders?

Neutral General 10. Nov 2022 12:28

AW: Besser Task oder Thread?
 
Ein Task wäre wahrscheinlich das Beste. Aber ein Thread wäre auch okay. Ist in den meisten Fällen denke ich nicht so entscheidend.
Und als Hinweis: Timer werden NICHT parallel ausgeführt! Code im Timer wird synchron im Hauptthread ausgeführt und blockiert den Rest des Programms.

Sherlock 10. Nov 2022 12:37

AW: Besser Task oder Thread?
 
Wenn Du zu einem beliebigen späteren Zeitpunkt auf das Ergebnis zugreifen möchtest, kommt vielleicht auch TTask.IFuture in Frage.

Sherlock

himitsu 10. Nov 2022 12:54

AW: Besser Task oder Thread?
 
Wenn du sehr viele kurze Threads aufgaben ausführen willst, (dafür nicht einen längerlaufenden Thread erstellst, welcher selber alle/mehrere Aufgaben nacheinander ausführt)
dann sind Tasks mit einem ThreadPool besser, als viele einzelne Threads,
denn da werden einfach ein/mehrere Threads erstellt (z.B. passend zu den verfügbaren CPU-Kernen) und darin hintereinander jeweils mehrere Tasks zusammen in einem Thread ausgeführt
und das Ganze kann über den Pool an die jeweilige Aulastung angepasst werden. (nicht zu viele Aufgaben gleichzeitig)

Vorteil: Es entfällt das ganze "langsame/aufwändige" Geraffel, zum Erzeugen, Verwalten und Starten der "vielen" Threads.

https://learn.microsoft.com/en-us/wi...es-and-threads

SearchBot 10. Nov 2022 13:35

AW: Besser Task oder Thread?
 
Dankeschön für das neue Input.

PPL sieht vielversprechend für mich aus.
Spontan fallen mir etliche Anwendungsbereiche in meinen Programmen ein. Mal sehen, wie leicht die Umsetzung wird :lol:

Lese mich nun in das Thema ein und frage bestimmt nochmal was dazu :thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:11 Uhr.

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