El siguiente ejemplo usa el mecanismo de interrupción para terminar un thread:
— regularmente muestrea si está interrumpido y, si es así, se acaba
— los métodos que detienen la ejecución, se pueden ver interrumpidos
— el método para cancelar lanza una interrupción que es recogida bien por el bucle, bien por el manejador (catch)
class Interrumpible |
public class
Interrumplible extends Thread { public void run() { try { while (!isInterrupted()) { System.out.println("mis
tareas ..."); Thread.sleep(1000); } } catch (InterruptedException
ignored) { }
System.out.println("tareas de terminacion"); } public
void cancelar() {
interrupt(); } } |
Temas relacionados