DoTest ist quasi die Methode, welche OnTest auslöst, womit dieses Synchronize schon stimmt. (die Namensgebung ist in der
VCL Vielerorts genauso)
Am Ende klingt es so, als wenn der "eigentliche" Code noch viel mehr macht, wie z.B. vorher scheinbar eine Datei runterladen. (natürlich außerhalb des Synchronize)
Prinzipiell sind LongStrings (String/AnsiString/UnicodeString) und ihre Referenzzählung per se thread-save.
Funktional quasi so, als wenn man einen Integer/
Boolean/LongBool/Pointer mit den Interlocked-, bzw. Atomic-Funktionen schreibend (Inc/
Dec) und kopierend behandelt.