Erstmal: Ja, Threads sins genau dafür gedacht, mehrere Sachen (quasi-)parallel zu tun. Insbesondere lange Berechnungen oder Downloads von der
GUI zu entkoppeln. Der Haiptthread macht dann die
GUI und die anderen Threads können sich nur auf "ihre Aufgabe" konzentrieren.
Was die Komponente angeht: Ich würde das ehrlich gesagt ohne machen. Es gibt die Klasse TThread, davon kannst du einfach ableiten. Und dann kannst du auch viele verschiedene Ableitungen machen, die verschiedene Sachen erledigen