📅  最后修改于: 2023-12-03 15:32:01.690000             🧑  作者: Mango
在 Java 编程中,我们经常需要对一个线程进行暂停一段时间,这时就可以使用 Thread 类提供的 sleep() 方法。这个方法会让当前线程睡眠指定的毫秒数,以达到暂停的目的。
public static void sleep(long millis) throws InterruptedException;
millis:需睡眠的毫秒数。
InterruptedException:如果任何线程在睡眠期间中断了当前线程,则抛出此异常。
以下示例演示了如何使用 sleep() 方法让程序暂停 1 秒:
public class SleepDemo {
public static void main(String[] args) {
try {
System.out.println("开始暂停");
Thread.sleep(1000); // 暂停 1 秒
System.out.println("暂停结束");
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
输出:
开始暂停
暂停结束
sleep() 方法不会释放持有的锁。
调用 interrupt() 方法可以中断正在睡眠的线程,此时会抛出 InterruptedException 异常。
比起使用 Thread 类的 stop()、suspend()、resume() 等方法来暂停线程,使用 sleep() 方法更为安全和可控。
如果需要在时间到达前唤醒线程,可以使用 Object 类的 wait()、wait(long) 或 wait(long, int) 等方法进行等待。