Когда поток Java достигает состояния "Die"
В Java, Die является одним из состояний в потоке.
Что заставляет поток вводить это состояние?
Ответы
Ответ 1
Из Thread API, вот полный список:
- Если возвращается метод run().
- Если генерируется исключение, которое распространяется за пределы метода run.
- Если это поток демона, и все потоки не-демона "умерли"
- Если был выведен метод exit класса Runtime (даже в другом потоке).
Ответ 2
Все Thread
умирают либо путем возврата из вызова методу run
, либо путем исключения исключения, которое распространяется за пределы метода run
.
Ответ 3
Существует две возможности для того, чтобы нить умирала:
a) Он может умереть от естественных причин, когда метод run() заканчивается или возвращается,
или
b) его можно убить с помощью метода stop() или когда что-то пойдет не так с программой (это может быть исключение) или компьютером.
Ответ 4
Нити умирают в следующих ситуациях:
- Когда выполняемый метод заканчивается (или бросает)
- Когда процесс завершается
- Когда компьютер выключен или
reset.