Что следует делать с потоком после завершения его метода run()
? Нужна ли какая-либо очистка для Thread в Java?
Как очистить поток после завершения его метода запуска?
Ответ 1
Если нить не использовала некоторые неуправляемые ресурсы (сетевые потоки, файлы и т.д.) - в этом случае она должна очищаться после себя - вам ничего не нужно делать.
Обратите внимание, что сохранение ссылки на объект Thread
, представляющий поток, не будет поддерживать активный поток ОС.
Ответ 2
Вам не нужно, потоки выходят, как только метод run
завершает его выполнение
Ответ 3
Обычно очистка производится сборщиком мусора. Если потоки используют файлы/сокеты, вам может понадобиться их закрыть. Лучшей практикой является закрытие ресурсов в блоке finally
верхнего уровня в Thread::run
.
Собственно, вам нужно очистить данные, а не поток.
Ответ 4
Nopes. Нить будет выполняться и умирать сама по себе и собирать мусор.
Ответ 5
Нет, это не нужно. Когда поток выходит из своего метода выполнения, поток входит в состояние выхода.