Clean-up-Quelltext schreiben
Nach oben zu Thread-Objekte definieren - Index
Der Quelltext, der nach Beendigung eines Threads die nötigen Bereinigungen durchführt (so genannter Clean-up-Quelltext), kann zentralisiert werden. Kurz vor Abschluss des Threads wird das Ereignis OnTerminate ausgelöst. Am besten wird sämtlicher Bereinigungs-Quelltext in der Ereignisbehandlungsroutine für OnTerminate platziert. Nur dann ist sichergestellt, dass er immer ausgeführt wird, unabhängig von dem Ausführungspfad, der auf die Methode Execute folgt.
Die Ereignisbehandlungsroutine für OnTerminate wird nicht als Teil des Threads ausgeführt. Stattdessen läuft sie im Kontext des VCL-Haupt-Threads der Anwendung. Das impliziert folgende Bedingungen:
- Lokale Thread-Variablen können in einer Ereignisbehandlungsroutine für OnTerminate nicht verwendet werden, es sei denn, es sind die Werte des Haupt-Threads verlangt.
- Von der Ereignisbehandlungsroutine für OnTerminate aus kann sicher auf sämtliche Objekte zugegriffen werden, ohne sich um eventuelle Konflikte mit anderen Threads zu kümmern.