Hmm, ich mach das eigentlich automatisch immer so, das ich die Parameter des Threads im Konstruktor übergebe (so wie Du das machen würdest, also 'copy') und etwaiges Feedback über synchronisierende Eigenschaften (Critical Sections) oder Synchronize-Aufrufe (Events) der Außenwelt zur Verfügung stelle.
Wobei Synchronize zur Hauptthreadsynchronisation allerdings innerhalb von Nicht-
VCL Anwendungen - Diensten,
ISAPI Extensions oder Konsolenanwendungen - nicht (oder nur mit entsprechendem Zusatzaufwand) funktioniert, sondern zu Deadlocks führt ... eine Herausforderung für Entwickler von allgemein verwendbaren Bibliotheken. Aber das ist schon fast einen eigenen Thread wert