休眠和中断

sleep使线程休眠,另一个线程可以调用sleep线程的interrupt中断它的休眠。

结束休眠状态有两种途径:

①休眠时间到达后,线程重新进入运行状态。

②处于休眠状态的线程遇上java.lang.InterruptedException异常,从而被迫停止休眠。

使线程进入休眠状态可以直接调用Thread.sleep();打断某线程的休眠状态的手段是调用该线程的interrupt()方法。


main(String[] args) {

MyThread t1=new MyThread();

t1.start();

Thread.sleep(5);

synchronized(t1)

{

t1.interrupt();

}

}

}

class MyThread extends Thread

{

public void run(){

try{

Thread.sleep(5000);

}catch (InterruptedException e) {

System.out.println("interrupted");

}

System.out.println("休眠结束");

}

}

本来t1要休眠(sleep)5000毫秒的,结果主线程5毫秒后中断了它的休眠,5毫秒后t1就‘醒了’

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容