Synchronize
wird nur dann benötigt, wenn man aus einem Thread auf den Hauptthread zugreifen will. (Egal wann). Der Thread beendet sich auch so.
Nicht ganz richtig:
1. Der Austausch von Daten sollte mit
allen anderen Threads sicher gestaltet werden, nicht nur der mit dem
Hauptthread. TThread.Synchronize arbeitet lediglich mit/über diesen.
2.
Benötigt nur solange, wie man keine anderen Methoden zur Thread-Absicherung verwendet (critical sections, TMultiReadExclusiveWriteSynchronizer o.ä.), aber dazu kommt man später im Umgang mit Threads, Punkt 1 war mir nur wichtig