Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Frage zu Thread Execute (https://www.delphipraxis.net/19884-frage-zu-thread-execute.html)

Dani 10. Apr 2004 11:32


Frage zu Thread Execute
 
Hi DP'ler,

Was genau passiert eigentlich mit einem Thread, der seine Execute Methode einmal durchlaufen hat? Er ist anscheinend weder nil, noch kann ich ihn dazu bewegen, Execute nochmals auszuführen.
Das wäre aber viel geschickter, als ihn freizugeben und dann nochmal erstellen zu müssen... kann ich den Thread irgendwie dazu bewegen, Execute nochmal auszuführen?

Grüße,
Dani

Luckie 10. Apr 2004 12:09

Re: Frage zu Thread Execute
 
Die Execute Methode wird genau wie jede andere Methode abgearbeitet. Das heißt, soll etwas mehr mals abgearbeitet werden, muss du es wie gewöhnlich auch in eine Schleife packen.

Dani 10. Apr 2004 12:34

Re: Frage zu Thread Execute
 
Stimmt, das macht irgendwie Sinn. Ich werd mal schauen, wie es sich über eine Schleife machen läßt... Danke Luckie :thuimb:

aps 12. Apr 2004 15:27

Re: Frage zu Thread Execute
 
Wenn die Execute-Methode abgelaufen ist, dann ist der Thread terminiert. Du kannst ihn nun freigeben oder eine Nachbehandlung durchführen, dieses geht z. B. in TThread.OnTerminate.

Alternativ kannst du auch beim Erzeugen des Threads TThread.FreeOnTerminate = true setzen, dann wird der Thread nach der Terminierung automatisch beendet und der Speicher freigegeben. Wichtig ist in diesem Fall, dass du auch in TThread.OnTerminate nicht mehr auf den Thread zugreifen darfst, da du sonst mit wilden Pointern um dich schießt.


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