Не в теории, но на практике это может быть возможно, в зависимости от вашей рабочей нагрузки. Например, если он должен отвечать на события, вы можете опубликовать сообщение потока (в окнах) и посмотреть, отвечает ли он. Вы можете установить событие или флаг, который заставит его что-то сделать - вам придется ждать «разумного» времени, чтобы увидеть, ответил ли он. Тогда возникает вопрос, что бы вы сделали с «зависшим» потоком, даже если он действительно завис и не занимает много времени, чтобы ответить. Обычно поток не может быть безопасно уничтожен, и вы не можете прерывать произвольный поток. Это достаточно безопасно, чтобы записать сообщение об этом, но кого это волнует? Вероятно, лучшее, что нужно сделать, это заметить это и выяснить, какая ошибка вызывает его зависание.