Java线程暂停1秒
使用 Thread.sleep () 实现线程暂停 1 秒
以下是一段使用 Thread.sleep(1000) 让线程暂停 1 秒的代码示例:
public class ThreadSleepExample {
public static void main(String[] args) {
try {
System.out.println("线程开始执行");
Thread.sleep(1000);
System.out.println("线程暂停 1 秒后继续执行");
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
使用 TimeUnit.SECONDS.sleep (1) 实现线程暂停 1 秒
TimeUnit 是 Java 中的一个枚举类,位于 java.util.concurrent 包下。它提供了不同时间单位的转换和操作方法,使得我们可以更方便地处理时间相关的操作。以下是使用 TimeUnit.SECONDS.sleep(1) 实现线程暂停 1 秒的代码示例:
import java.util.concurrent.TimeUnit;
public class TimeUnitExample {
public static void main(String[] args) {
try {
System.out.println("线程开始执行");
TimeUnit.SECONDS.sleep(1);
System.out.println("线程暂停 1 秒后继续执行");
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
比较
- 可读性
TimeUnit.SECONDS.sleep(1) 的方式更加直观地表达了时间单位,使得代码更易于理解。相比之下,Thread.sleep(1000) 需要我们记住 1000 代表的是 1 秒,可读性稍差。 - 灵活性
TimeUnit 提供了多种时间单位的转换方法,可以方便地在不同时间单位之间进行切换。例如,如果我们需要让线程暂停 500 毫秒,可以使用 TimeUnit.MILLISECONDS.sleep(500)。而 Thread.sleep() 只能接受毫秒为单位的参数。 - 异常处理
两种方法在处理中断异常的方式上是相同的,都需要在 try-catch 块中进行处理。