文章目录
sleep方法响应中断
- sleep方法响应中断
- 使用TimeUnit.SECONDS.sleep()方法的好处
- 对于sleep的总结
- sleep面试问题
sleep方法响应中断 的时候, 会做两件事情,
- 抛出InterruptedException
- 清除中断状态.
如下的代码, 演示了线程在sleep的过程中, 被中断的情况. 子线程每隔一秒打印当前的时间, 循环10次, 会执行10s.
主线程在其第六秒的时候, 让子线程休眠. 此时子线程抛出被中断的异常.
import java.util.Date;
import java.util.concurrent.TimeUnit;
/**
* 类名称:SleepInterrupted
* 类描述:TODO
*
* @author: https://javaweixin6.blog.csdn.net/
* 创建时间:2020/8/30 10:51
* Version 1.0
*/
public class SleepInterrupted implements Runnable {
public static void main(String[] args) {
Thread thread = new Thread(new SleepInterrupted());
thread.start();
//让子线程运行6s后, 让其中断
try {
Thread.sleep(6000);
} catch (InterruptedException e) {
e.printStackTrace();
}
thread.interrupt();
}
@Override
public void run() {
for (int i = 0; i
关注
打赏