Прервать / убить запущенный поток

При наступлении определенного тайм-аута мне нужно убить / отменить / прервать / отказать работающий поток. Я использую ExecutorService для управления пулом потоков, с помощью которого я могу отменить задачу с помощью метода cancel () Future, который удаляет это из представления ExecutorService, но сам поток продолжает выполняться.

В сети люди говорят о прерывании потоков , которые имеют цикл с использованием метода isInterrupted () или ожидают ввода-вывода, который может быть обработан с помощью всплытия InterruptedException.

Какова общая практика уничтожения потоков, которые не зацикливаются (или не имеют каких-либо других перехватчиков) и не ожидают ввода-вывода? Оглядываясь вокруг, кажется, что Thread.stop () делает то, что мне нужно (просто убивайте поток вслепую), но использовать его не рекомендуется.

9
задан nija 23 December 2011 в 00:17
поделиться