📅  最后修改于: 2023-12-03 15:35:00.565000             🧑  作者: Mango
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()
方法,避免降低整个系统的性能。