Einzelnen Beitrag anzeigen

Benutzerbild von jaenicke
jaenicke
Online

Registriert seit: 10. Jun 2003
Ort: Berlin
9.847 Beiträge
 
Delphi 12 Athens
 
#6

AW: Sind alle Thread Variablen in OnTerminate threadsicher?

  Alt 24. Feb 2025, 17:51
Ja, genau. Bei (bezogen auf den Code) kurzen Threadoperationen würde ich immer anonyme Threads (oder TTask oder ähnliches) nutzen. Die kann man irgendwo verpacken, aber da würde ich nicht extra eine Klasse ableiten. Das lenkt nur vom Wesentlichen ab.

Und auch bei deiner Methode DoNotifyTestComplete würde ich TThread.Synchronize mit einer anonymen Methode nutzen.

Und wenn du mehrere Aufrufe benötigst, kannst du TThread.Queue verwenden, so dass der Threads weiterläuft, während der Aufruf an den Hauptthread geht.

Aufpassen musst du, wenn du ganze Objekte auf diese Weise übergeben möchtest, da das ja nur Referenzen sind. Dann bietet es sich an, der Klasse ein Interface zu spendieren, damit dein Objekt lange genug lebt, aber dennoch freigegeben wird.
Sebastian Jänicke
AppCentral

Geändert von jaenicke (24. Feb 2025 um 18:09 Uhr)
  Mit Zitat antworten Zitat