Eine Thread solltest Du gerade dann anwenden, wenn Du nicht willst, das dein Prog wartet bis es die Aufgabe abgearbeitet hat. Sonst bräuchtest Du gar keinen weiteren Thread.
Ich schreibe zu Zeit ein Bewerbungs-Videotool. Wenn alle Videos aufgenommen wurden, werden alle nacheinander gerendert. Der Benutzer muss nicht warten bis das Prog alle Videos gerendert hat und könnte nebenbei z.B. seine Schriftliche Bewerbung im Programm vollenden.
Genau so kannst Du auch Threads benutzen um etwas auszurechnen. Ein Thread rechnet ein Zwischenergebnis vor, der andere Rechnet damit weiter, während der erste Thread das nächste Zwischenergebnis wieder bereitstellt.
Und ein Server z.B. hat ein Array voll mit Theads welche sich um die Clients kümmern.
Mach dich bitte über Threads richtig schlau! Das ist meiner Meinung nach mit eine der wichtigsten Bestandteile eines benutzerfreundlichen Programms!
Ich hab mein Wissen darüber aus der MSDN!