1、概述 :
中断线程的作用是强迫线程停止执行,中断是通过调用Thread.interrupt()方法来做的. 这个方法通过修改了被调用线程的中断状态来告知那个线程, 说它被中断了. 对于非阻塞中的线程, 只是改变了中断状态, 即Thread.isInterrupted()将返回true; 对于可取消的阻塞状态中的线程, 比如等待在这些函数上的线程, Thread.sleep(), Object.wait(), Thread.join(), 这个线程收到中断信号后, 会抛出InterruptedException, 同时会把中断状态置回为false.
2、代码举例:
public class ThreadStop extends Thread {
@Override
public void run() {
System.out.println("程序开始了....");
//睡秒10秒钟
try {
Thread.sleep(10000); //此处不再执行
} catch (InterruptedException e) {
// e.printStackTrace();
System.out.println("程序出现异常了...");
}
System.out.println("程序结束了....");
}
}
public class ThreadStopDemo {
public static void main(String[] args) {
//创建ThreadStop类对象
ThreadStop st = new ThreadStop() ;
st.start() ;
//如果3秒不醒来,我就干掉你
try {
st.sleep(3000);
// st.stop();
st.interrupt();// 中断
} catch (InterruptedException e) {
// e.printStackTrace();
System.out.println("程序出现了中断异常");
}
}
}