Как заставить поток умереть в Java?
Как заставить поток умереть в Java?

Видео: Как заставить поток умереть в Java?

Видео: Как заставить поток умереть в Java?
Видео: Многопоточность в Java: основы 2024, Май
Anonim

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

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

  1. Когда метод, который он запускает, завершается (или бросает)
  2. Когда процесс завершен.
  3. Когда компьютер выключен или перезагружен.

Учитывая это, какие события приведут к смерти потока?

А нить может умереть двумя способами: либо из натуральных причины , или быть убитым (остановленным). А нить умирает естественно, когда его метод run () завершается нормально.

Точно так же что такое мертвая нить? А нить Считается мертвых как только его метод run () завершит выполнение. Однажды нить завершает свой метод run () и мертвых , это не может быть возвращено нить выполнения или даже в работоспособное состояние. Вызов метода start () для мертвая нить вызывает исключение во время выполнения.

В связи с этим, как вы убиваете поток в Java?

Невозможно изящно убийство а нить . Как правило, вы этого не сделаете убийство , остановить или прервать нить (или проверьте, прерван ли он ()), но пусть прекратить естественно. Это просто. Вы можете использовать любой цикл вместе с (изменчивой) логической переменной внутри метода run () для управления потоки деятельность.

Как остановить поток?

Современные способы приостановки / остановить поток используются логический флаг и Нить . interrupt () метод. Использование логического флага: мы можем определить логическую переменную, которая используется для остановка / убийство потоки скажите "выход". Когда бы мы ни захотели остановить поток , переменной exit будет присвоено значение true.

Рекомендуемые: