Java 中的 Thread 类提供了一个 sleep() 方法,用于暂停当前线程的执行,使其进入休眠状态。该方法的语法如下:
public static void sleep(long millis) throws InterruptedException
其中,millis 参数表示线程要休眠的时间(以毫秒为单位)。sleep() 方法会使当前线程进入阻塞状态,暂停执行指定的毫秒数,然后自动唤醒线程并继续执行。
需要注意的是,sleep() 方法可能会抛出 InterruptedException 异常。这种情况通常是由于线程被中断或者被通知退出休眠状态而引起的。因此,在调用 sleep() 方法时,应该捕获并处理 InterruptedException 异常,以便在必要时及时中止线程的执行。
下面是一个简单的示例代码,演示了如何使用 sleep() 方法使线程进入休眠状态:
public class SleepDemo implements Runnable {
public void run() {
System.out.println("线程开始执行");
try {
// 使线程进入休眠状态
Thread.sleep(5000);
} catch (InterruptedException e) {
System.out.println("线程被中断");
return;
}
System.out.println("线程执行完毕");
}
public static void main(String[] args) {
// 创建新线程
Thread thread = new Thread(new SleepDemo());
// 启动线程
thread.start();
// 在主线程中继续执行其他任务
System.out.println("主线程继续执行");
}
}
在上面的代码中,我们定义了一个 SleepDemo 类实现了 Runnable 接口,并重写了 run() 方法。在 run() 方法中,我们调用了 sleep() 方法,使线程进入休眠状态,并在休眠结束后输出一条消息。
在 main() 方法中,我们创建了一个新线程,并调用 start() 方法启动该线程。在主线程中,我们输出了一条消息表示继续执行其他任务。运行程序后,可以看到主线程先输出了一条消息,然后新线程进入休眠状态,等待指定的时间后再输出一条消息。