Heim  >  Artikel  >  Java  >  Java-Beispiel – Thread beenden

Java-Beispiel – Thread beenden

黄舟
黄舟Original
2016-12-27 13:38:151268Durchsuche

Java hat ursprünglich die stop()-Methode in Thread bereitgestellt, um den Thread zu beenden. Diese Methode ist jedoch unsicher und wird daher im Allgemeinen nicht empfohlen.

Dieser Artikel führt Sie in die Verwendung der Interrupt-Methode zum Unterbrechen eines Threads ein.

Die Verwendung der Interrupt-Methode zum Beenden eines Threads kann in zwei Situationen unterteilt werden:

(1) Der Thread befindet sich in einem blockierten Zustand, z. B. bei Verwendung der Sleep-Methode.

(2) Verwenden Sie while(!isInterrupted()){…}, um festzustellen, ob der Thread unterbrochen ist.

Im ersten Fall löst die Sleep-Methode bei Verwendung der Interrupt-Methode eine InterruptedException-Ausnahme aus, während im zweiten Fall der Thread direkt beendet wird. Der folgende Code demonstriert die Verwendung der Interrupt-Methode im ersten Fall

/*
 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("线程已经退出!"); 
    } }

Das Ausgabeergebnis des obigen Codes ist:

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

Das Obige ist das Java-Beispiel – der Inhalt Weitere Informationen zum Beenden des Threads finden Sie auf der chinesischen PHP-Website (www.php.cn)!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn