Ejemplo de Java - Terminar un hilo

Java 实例Ejemplo de Java

En Java, originalmente se proporcionaba el método stop() en Thread para terminar hilos, pero este método no es seguro, por lo que generalmente no se recomienda usarlo.

Este artículo presenta cómo usar el método interrupt para interrumpir un hilo.

El uso del método interrupt para interrumpir un hilo se puede dividir en dos casos:

  • (1) El hilo está en estado de bloqueo, como cuando se utiliza el método sleep.
  • (2) Utilizar while(!isInterrupted()){……} para determinar si el hilo ha sido interrumpido.

En el primer caso, al utilizar el método interrupt, el método sleep lanzará una excepción InterruptedException, mientras que en el segundo caso el hilo saldrá directamente. El siguiente código demuestra el uso del método interrupt en el primer caso.

Archivo ThreadInterrupt.java

public class ThreadInterrupt extends Thread { public void run() { try { sleep(50000); //Retraso de 50 segundos } catch (InterruptedException e) { System.out.println(e.getMessage()); } } public static void main(String[] args) throws Exception { Thread thread = new ThreadInterrupt(); thread.start(); System.out.println("¡Presiona cualquier tecla dentro de 50 segundos para interrumpir el hilo!"); System.in.read(); thread.interrupt(); thread.join(); System.out.println("¡El hilo ha salido!"); } }

El resultado de ejecutar el código anterior es:

在50秒之内按任意键中断线程!

sleep interrupted
线程已经退出!

Java 实例Ejemplo de Java

Otras extensiones