public class ThreadTest {
public static void main(String[] args) throws InterruptedException {
// TODO Auto-generated method stub
Runnable r=new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
try{
Thread.sleep(5000);
}catch(InterruptedException e){
System.out.println("interrupted");
}
System.out.println("ran");
}
};
Thread t=new Thread(r);
t.start();
System.out.println("started");
t.sleep(2000);
System.out.println("interrupting");
t.interrupt();
System.out.println("ended");
}
}
为什么会输出
started
interrupting
interrupted
ran
ended
而t.sleep()中的数字大于5000时则输出
started
ran
interrupting
ended