Почему поток прекращает выполнение и почему sleep () влияет на него? [Дубликат]

Это означает, что вы пытаетесь манипулировать тем, что имеет ссылку, но еще не инициализировано. Первое, что нужно сделать, это проверить каждый созданный экземпляр. Используйте контрольные точки, часы, проверяйте свои значения varibale. Следить за трассировкой стека и искать точные строки и столбцы, которые создают проблему

24
задан johnc 13 August 2009 в 05:01
поделиться

4 ответа

Существует два способа смерти нити:

a) Он может умереть от естественных причин, когда метод run () заканчивается или возвращается,

или

b) его можно убить с помощью метода stop () или когда что-то пойдет не так с программой (это может быть исключение) или компьютером.

1
ответ дан Cesar Hermosillo 3 September 2018 в 09:25
поделиться

Из Thread API приведен полный список:

  • Если метод run () возвращается.
  • Если исключение
  • Если это поток демона, и все потоки не-демона «умерли»
  • Если был выведен метод exit класса Runtime (даже в другом потоке).
40
ответ дан idrosid 3 September 2018 в 09:25
поделиться
  • 1
    Мне нравится комментарий Роба об исключениях, распространяющихся за пределы метода run. Я бы добавил это в ваш список. – TheJacobTaylor 13 August 2009 в 05:14

Все Thread s умирают либо путем возврата из вызова к методу run, либо путем исключения исключения, которое распространяется за пределы метода run.

3
ответ дан Rob 3 September 2018 в 09:25
поделиться

Нитки умирают в следующих ситуациях:

  1. Когда выполняемый метод заканчивается (или бросает)
  2. Когда процесс завершается
  3. Когда компьютер выключен или сброшен.
0
ответ дан Spencer Ruport 3 September 2018 в 09:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: