定石的にはSLCTBOXとか使って自力でストップボタンを出して、ストップボタンをプログラムで捕捉して終了処理をするようにする。
終了フラグ的なグローバル変数を用意しておいて、各スレッドはその変数で終了を指示されたループを抜けて終了する作りにしておく。
出来ればスレッドを起こしたときにスレッド数カウンタをカウントアップ、スレッド終了時にカウンドダウンして
メインはすべてのスレッドが正常に終了してスレッド数カウンタが0になってから終了ってやりたいけど
スレッド間の変数排他がされる仕組みになってないとカウンターが狂うかもだしなあ。

それ以前にスレッド起こしまくりなのはストレステストか何かなのだろうか。