与线程中断有关的,有三个方法,这三个方法看起来很像。
public void Thread.interrupt() //中断线程 public boolean Thread.isInterrupted() //判断是否被中断 public static boolean Thread.interrupted() //判断是否被中断,并清除当前中断状态
Thread.sleep()函数的用法:
public class TestThread extends Thread{ public static void main(String[] args) throws InterruptedException { Thread t1 = new Thread("xiaoming"){ @Override public void run(){ while(true){ System.out.println(Thread.currentThread().getName()); if(Thread.currentThread().isInterrupted()){ System.out.println("Interruted!"); break; } try { Thread.sleep(2000); } catch (Exception e) { // TODO: handle exception System.out.println("Interrupted When Sleep"); //设置中断状态 Thread.currentThread().interrupt(); } System.out.println("准备挂起"); Thread.yield(); } } }; t1.start(); Thread.sleep(3000); t1.interrupt(); } }