Einzelnen Beitrag anzeigen

Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#5

AW: FastMM4 und Beenden der Application

  Alt 28. Jan 2013, 20:38
In der Anwendung werden relativ viele Threads erstellt, die beim Beenden der Anwendung terminiert werden. Das geschieht über Windows Messages, welche die Threads dann abfragen und sich selber terminieren
Eigentlich müsste deine Anwendung alle laufenden Thread in einer Liste speichern.
Beim Programmende wird dann von jedem Thread die Methode Terminate aufgeraufen.
(Windows Messages würde ich für diesen Zweck nicht verwenden)
Die Threads fragen periodisch das property Terminated ab und beenden sich selber.
Da es einige Zeit dauern kann bis alle Threads reagiert haben sollte der Hauptthread bis zu 3s warten.
Dauert es länger, sollte der Hauptthread weiterlaufen und sich beenden.
Die hängenden Threads werden dann von Windows gewaltsam beendet; was dann natürlich zu Speicher-/Resourcenlecks führt, die aber ebenfalls von Windows entsorgt werden.

Geändert von sx2008 (28. Jan 2013 um 20:52 Uhr)
  Mit Zitat antworten Zitat