Einzelnen Beitrag anzeigen

iphi

Registriert seit: 13. Feb 2009
262 Beiträge
 
Delphi 7 Personal
 
#1

Frage zu Thread mit FreeOnTerminate

  Alt 28. Apr 2021, 09:17
Hallo,

ich habe ein Threadobjekt, das sofort nach Create losläuft, etwas macht und sich dann wegen FreeOnTerminate selbst auflöst, wenn es fertig ist.
Ich erzeuge mein Threadobjekt so:

MyThread:=TMyThread.Create; Wie kann ich feststellen, ob das Threadobjekt noch lebt?

a)
if assigned(MyThread) then ... Ich habe aber den Eindruck, dass MyThread nicht auf NIL gesetzt wird, wenn der Thread sich selbst auflöst.

b) Ich könnte im Thread eine Variable Running anlegen:
if MyThread.Running then ... Nach meinem Verständnis gibt es aber nach Beendigung des Threads das Objekt MyThread nicht mehr im Speicher. => Zugriffsverletzung

Wie mache ichs richtig?
  Mit Zitat antworten Zitat