Java 范例 - 终止线程

返回上一级

Java 在 Thread 中提供了 stop() 方法来终止线程,但这个方法是不安全的,所以一般不建议使用

一般使用 interrupt 方法来中断线程可分为两种情况

  1. 线程处于阻塞状态,如使用了 sleep 方法
  2. 使用 while(!isInterrupted()){...} 来判断线程是否被中断

在第一种情况下使用 interrupt 方法,sleep 方法将抛出一个 InterruptedException

而在第二种情况下线程将直接退出

下面的范例演示了在第一种情况下使用 interrupt 方法

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

编译运行以上 Java 代码,输出结果如下

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

sleep interrupted
线程已经退出!

返回上一级

Java 基础教程

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2018 简单教程 twle.cn All Rights Reserved.