Globale boolesche Variable bauen, die im Mainthread vor dem Start des nächsten Threads abgefragt wird. Beim Start deines Threadstapels setzt du die auf FALSE und bei Klick auf deinen Stopbutton auf TRUE.
EDIT: Mir ist eben zufällig noch etwas sehr schönes in die Hände gefallen.
Der Chef himself erklärt Threads. Sogar auf Deutsch, was für Einsteiger sicher kein Nachteil ist. Besonders spannend fand ich den Teil ganz am Ende mit den prozessübergreifenden Threads. Das wird ja inzwischen z.B. von Browsern verwendet, um jeden Tab in einem eigenen Prozess zu kapseln. Stürzt ein Prozess ab, weil ein schrottiges Javascript ihn ins Nirvana geschickt hat, dann nimmt es nicht gleich das ganze Browserfenster mit.