关于线程的中断的知识点比较多,这里暂时浅尝辄止,只使用interrupt方法做一个例子,显示中断方法的使用。
例子如下:
public class testInterrupt extends Thread{ //线程类testInterrupt,用来测试中断的方法
private boolean blockflag = false; //设置一个旗标,控制循环的退出
public void run(){ //覆盖run方法
while(!blockflag){ //永真循环,除非旗标被改
System.out.println("Thread is running!");
}
}
public static void main(String[] args){
System.out.println("Thread is starting!");
testInterrupt thread = new testInterrupt();
thread.start(); //启动进程
try{
Thread.sleep(1); //让主线程先睡1毫秒,好让线程thread的永真循环执行1毫秒
thread.blockflag = true; //改变旗标的值,从而退出永真循环
thread.interrupt(); //中断线程的语句
Thread.sleep(500); //再让主线程睡500毫秒
}catch(InterruptedException e){
e.printStackTrace();
}
System.out.println("Stoping Application!"); //输出结束语
}
}
编译执行的结果如下: