درسته شروعش در thread اصلی انجام میشه ولی پایانش با پایان thread اصلی نیست. اینجوری فرض کنید که با ایجاد هر thread (هر جایی که شروع شده باشه)، همگی در یک لیست قرار میگیرن (در کنار thread اصلی) و هر کدوم جداگانه در حال اجرا هستند و هر کدام جداگانه میتونن terminate بشن. وقتی که این لیست خالی شد برنامه هم بسته خواهد شد.

تست کردنش هم سادست، میتونید یک ترد درست کنید که چند تا ترد دیگه رو اجرا کنه، همزمان در زمان های مختلف تعداد تردهای درحال اجرا رو بررسی کنید (از Java VisualVM هم میتونید کمک بگیرید که همراه با محیط جاوا روی سیستمتون نصب میشه) و بعضی تردهایی که مثلا ترد دیگری رو اجرا کرده رو terminate کنید با پایان یافتن متد run یا throw exception و ببینید تعدادش به چه صورت خواهد بود.