在调用sleep方法的时候,我们需要try catch ,而catch的是InterruptedException这个异常,可以说这个异常就是sleep特定的异常。可以通过线程的interrupt方法手动打断。下面的代码在t1大约运行500ms的时候打断。
/**
* sleep的中断
*/
public class SleepDemo2 {
public static void main(String[] args) {
Thread t1 = new Thread("A") {
@Override
public void run() {
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
System.out.println("interrupted");
e.printStackTrace();
}
}
};
t1.start();
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
t1.interrupt();
}
}

这篇博客探讨了Java中如何使用Thread.sleep()方法,并强调了在调用该方法时处理InterruptedException的重要性。代码示例展示了如何在主线程中中断名为'A'的子线程,使其在约500毫秒后停止睡眠并捕获并打印异常信息。
316

被折叠的 条评论
为什么被折叠?



