📜  sleep() java (1)

📅  最后修改于: 2023-12-03 15:35:00.565000             🧑  作者: Mango

Java 中的 sleep() 方法

sleep() 是 Java 中的一个方法,它允许程序在一定时间内暂停执行,让 CPU 去执行其他任务。这个方法可以接受一个时间参数,单位是毫秒(ms),表示暂停的时间长度。在这个期间,线程将被阻塞,不会执行任何操作。

语法

public static void sleep(long millis) throws InterruptedException

参数说明:

  • millis:暂停执行的时间长度,以毫秒为单位。

异常:

  • InterruptedException:如果某个线程在睡眠期间被中断,则抛出该异常。
使用示例
public class SleepExample {
    public static void main(String[] args) {
        try {
            System.out.println("开始睡眠");
            Thread.sleep(5000);
            System.out.println("睡眠结束");
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
}

上面的代码会输出以下内容:

开始睡眠
// 5 秒钟后输出
睡眠结束

在上面的代码中,我们调用了 sleep() 方法,让程序停止执行 5 秒钟。注意到我们将调用 sleep() 方法的代码放在了 try-catch 块中,这是因为 sleep() 方法会抛出 InterruptedException 异常,我们需要捕获并处理它。

注意事项
  • sleep() 方法会使当前线程暂停执行,不会影响其他线程的运行。
  • sleep() 方法不会释放当前线程持有的锁,因此如果当前线程持有某个共享资源的锁,其他线程在此期间就无法访问该资源。
  • sleep() 方法应该尽量避免使用,因为它会使 CPU 进入睡眠状态,从而减缓整个系统的运行速度。如果需要让多个线程协调工作,应该考虑使用 wait()notify() 方法。
结语

sleep() 方法是 Java 中的一个非常基础的方法,但它也有一些需要注意的地方。在编写多线程程序的时候,应该合理使用 sleep() 方法,避免降低整个系统的性能。