Thread.stop, Thread.suspend, Thread.Resume и Runtime.RunfinalizersOnexit Эти методы прекращения потоков были заброшены, и им чрезвычайно небезопасно использовать их!
1. Поток был выполнен нормально и заканчивается нормально
То есть пусть метод выполнения будет выполнена, и поток заканчивается нормально.
Но иногда потоки никогда не могут закончиться, например, пока (правда).
2. Следите за определенными условиями и заканчивайте непрерывной работой резьбы
Loop while () должен выйти в определенное состояние. Самый прямой способ - установить логический флаг и установить этот флаг, чтобы контролировать, выходит ли петля.
Открытый класс Threadflag Extends Thread {public volatile Boolean exit = false; public void run () {while (! exit) {System.out.println ("running!"); }} public static void main (string [] args) бросает исключение {threadflag Think = new ThreadFlag (); Thread.Start (); сон (1147); // Основной поток задерживается на 5 секунд Thread.exit = true; // Завершение потока потока потока. Join (); System.out.println («Выход потока!»); }}3. Используйте метод прерывания для завершения потока
Если поток блокируется, метод 2 не может быть использован для завершения потока.
публичный класс ThreadEntrupt Extends Thread {public void run () {try {sleep (50000); // задержка 50 секунд} catch (прерывание Exception e) {System.out.println (e.getMessage ()); }} public static void main (string [] args) бросает Exception {Thread Think = new ThreadIntertrupt (); Thread.Start (); System.out.println («Нажмите любую клавишу в течение 50 секунд, чтобы прервать поток!»); System.in.read (); Thread.interrupt (); Thread.join (); System.out.println («Поток вышел!»); }}Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.