Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Ab wann sind Threads sinvoll? (https://www.delphipraxis.net/67003-ab-wann-sind-threads-sinvoll.html)

Metal_Snake2 7. Apr 2006 17:46


Ab wann sind Threads sinvoll?
 
Guten tag,

ich habe gestern Threads benutzt, damit wollte ich meine anwendung bschleunigen. Doch die Procedure wurde im gegenteil viel langsamer. Eigentlich dachte ich das man mit zusätzlichen Threads die Performance beschleunigen kann. Doch jetzt bin ich mir nicht sicher und frage mich ab wann überhaupt Threads sinvoll sind. Für mich hätten die nur dan einen sin wenn sie etwas die Performance steigern, das kann jedoch nie der fall sein da Threads verwaltet werden müssen. Was meint ihr dazu?

Rastaman 7. Apr 2006 17:48

Re: Ab wann sind Threads sinvoll?
 
Mit Performancesteigerung ist ja nicht gemeint, dass sie viel schneller sind, sondern dass du 2 Proceduren gleichzeitig
laufen lassen kannst. Das ist mit Performancesteigerung gemeint.

pacman1986 7. Apr 2006 17:51

Re: Ab wann sind Threads sinvoll?
 
oder 300 proceduren parallel die deminsion kommt auf dich an

Ratte 7. Apr 2006 17:54

Re: Ab wann sind Threads sinvoll?
 
Performancesteigerungen gibt es natürlich insbesondere bei mehreren CPU-Cores.

Ratte

R2D2 7. Apr 2006 17:55

Re: Ab wann sind Threads sinvoll?
 
Threads sind generell eine gute Idee, wenn du z.B. eine dauernde Überprüfung paralell machen möchtest. Abewr um dir Genaueres zu sagen, müsstest du uns mitteilen, was du machen willst.

negaH 7. Apr 2006 17:55

Re: Ab wann sind Threads sinvoll?
 
Ein mehrere Threads auf einer ein einzigsten CPU laufen nacheinander, jeder für eine bestimmte Zeit. Durch den Overhead zur Verwaltung der Threads verbrauchen diese im gesamten mehr Rechnezeit als wenn man mit einem Thread die gleiche Aufgabe am Stück erledigt.

Thread lohne immer dann wenn der Thread selber auf bestimmte Ereignisse des OS warten muß. Zb. die Serielle Schnittstelle signalisiert per Events das neue Daten angekommen sind. Der Thread wartet auf dieses Signal die meiste Zeit und liegt defakto schlafen, er verbraucht keinerlei Rechenzeit.

Würde man auf diese Weise in einem einzigsten Thread zb. 5 serieller Schnittstellen abfragen wollen so ginge dies nur pr Polling. D.h. dieser sinle Thread verschleudert die meiste Rechenzeit damit sinnlos nachzufragen ob neue Daten angekommen sind.

Gruß Hagen


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:50 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