Maison >Java >javaDidacticiel >Exemple Java - Terminer le fil de discussion

Exemple Java - Terminer le fil de discussion

黄舟
黄舟original
2016-12-27 13:38:151273parcourir

Java a initialement fourni la méthode stop() dans Thread pour terminer le thread, mais cette méthode n'est pas sûre, il n'est donc généralement pas recommandé de l'utiliser.

Cet article vous présente l'utilisation de la méthode d'interruption pour interrompre un fil de discussion.

L'utilisation de la méthode d'interruption pour terminer un thread peut être divisée en deux situations :

(1) Le thread est dans un état bloqué, comme par exemple en utilisant la méthode sleep.

(2) Utilisez while(!isInterrupted()){…} pour déterminer si le thread est interrompu.

Dans le premier cas utilisant la méthode d'interruption, la méthode sleep lèvera une exception InterruptedException, tandis que dans le second cas, le thread se terminera directement. Le code suivant démontre l'utilisation de la méthode d'interruption dans le premier cas

/*
 author by w3cschool.cc
 ThreadInterrupt.java
 */public class ThreadInterrupt extends Thread { 
    public void run() 
    { 
        try 
        { 
            sleep(50000);  // 延迟50秒 
        } 
        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("在50秒之内按任意键中断线程!"); 
        System.in.read(); 
        thread.interrupt(); 
        thread.join(); 
        System.out.println("线程已经退出!"); 
    } }

Le résultat de sortie du code ci-dessus est :

在50秒之内按任意键中断线程!
sleep interrupted
线程已经退出!

Ce qui précède est l'exemple Java - le contenu de terminer le fil, plus Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn