Если вы хотите, чтобы ваше приложение завершало работу, даже если у вас все еще есть запущенные потоки, у вас есть , чтобы пометить вашу ветку как ветку демона:
Thread t = new Thread(myRunnable);
t.setDaemon(true),
t.start();
Это особенно важно, когда вы делаете это на сервере приложений, иначе сервер не может быть выключен!
Если вы делаете это неоднократно, вы можете рассмотреть ThreadPool, чтобы сделать это более эффективным