首頁  >  文章  >  Java  >  Java 實例 - 終止線程

Java 實例 - 終止線程

黄舟
黄舟原創
2016-12-27 13:38:151261瀏覽

Java中原來在Thread中提供了stop()方法來終止線程,但這個方法是不安全的,所以一般不建議使用。

本文向大家介紹使用interrupt方法中斷執行緒。

使用interrupt方法來終端執行緒可分為兩種情況:

(1)執行緒處於阻塞狀態,如使用了sleep方法。

(2)使用while(!isInterrupted()){……}來判斷執行緒是否被中斷。

在第一種情況下使用interrupt方法,sleep方法將拋出一個InterruptedException例外,而在第二種情況下執行緒將直接退出。下面的程式碼示範了在第一種情況下使用interrupt方法

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

以上程式碼運行輸出結果為:

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

 以上就是Java 實例- 終止執行緒的內容,更多相關內容請關注PHP中文網(www.php .cn)!


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn