Подход, который я могу придумать для этой ситуации, заключается в том, что у вас должен быть демон, который будет обрабатывать такие потоки. В максимально возможной степени эти потоки должны были порождаться этим демоном для упрощения отслеживания потоков, а также обработки таймера для таких потоков.
Если это не так (отдельная программа порождала поток),у вас должен быть установлен стандарт именования (или отслеживания), позволяющий вам определять, какие потоки находятся в области действия вашей программы, чтобы демон мог их соответствующим образом прервать.