1. 静态方法 static void Thread.sleep( long m )
这是一个静态方法,作用是「使调用者进入m毫秒的Time Waiting状态」,谁调用谁休眠,彼此之间互不干扰。处于 Time Waiting 状态的线程不会被分配到时间片。该方法会抛出 InterrptedException,因此要对其进行捕捉。
顺带一提,Time Waiting 状态的线程被打断时,就会抛出 InterrptedException,且打断标记会被重置为false
Thread t1 = new Thread(() -> {
try {
// t1休眠10s,与主线程的休眠互不干扰
Thread.sleep(10 * 1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
});
t1.start();
// 主线程休眠5s,与子线程t1的休眠互不干扰
Thread.sleep(5 * 1000);