Thread.stop, thread.suspend, thread.resume e RUNTime.runfinizerSonexit Esses métodos de encerramento de threads foram abandonados, e é extremamente inseguro usá -los!
1. O tópico foi executado normalmente e termina normalmente
Ou seja, deixe o método de execução ser executado e o thread terminará normalmente.
Mas às vezes os threads nunca podem terminar, como enquanto (verdadeiro).
2. Monitore certas condições e termine a operação de rosca ininterrupta
O loop do tempo () precisa sair sob uma certa condição. A maneira mais direta é definir um sinalizador booleano e definir esse sinalizador para controlar se o loop sai.
classe pública threadflag estende thread {public volatile boolean sai = false; public void run () {while (! Exit) {System.out.println ("Running!"); }} public static void main (string [] args) lança exceção {threadflag thread = new Threadflag (); thread.start (); sono (1147); // O encadeamento principal é atrasado em 5 segundos thread.exit = true; // encerrar o thread Thread Thread.Join (); System.out.println ("EXIT!"); }}3. Use o método de interrupção para encerrar o thread
Se o thread estiver bloqueando, o método 2 não poderá ser usado para encerrar o encadeamento.
public class ThreadInterrupt estende thread {public void run () {try {Sleep (50000); // atraso 50 segundos} catch (interruptEdException e) {System.out.println (e.getMessage ()); }} public static void main (string [] args) lança exceção {thread thread = new ThreadInterrup (); thread.start (); System.out.println ("Pressione qualquer tecla dentro de 50 segundos para interromper o thread!"); System.in.read (); thread.Interrupt (); Thread.Join (); System.out.println ("Thread saiu!"); }}O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.