当前位置:首页 > Java

java 如何延时

2026-03-19 21:17:45Java

延时方法

在 Java 中实现延时操作可以通过以下几种方式实现:

Thread.sleep()

使用 Thread.sleep() 方法可以让当前线程暂停执行指定的毫秒数。该方法会抛出 InterruptedException,需要进行异常处理。

try {
    Thread.sleep(1000); // 延时 1000 毫秒(1 秒)
} catch (InterruptedException e) {
    e.printStackTrace();
}

TimeUnit.sleep()

TimeUnitjava.util.concurrent 包中的一个枚举类,提供了更直观的延时方法,底层仍然调用 Thread.sleep(),但支持更灵活的时间单位。

try {
    TimeUnit.SECONDS.sleep(1); // 延时 1 秒
} catch (InterruptedException e) {
    e.printStackTrace();
}

ScheduledExecutorService

使用 ScheduledExecutorService 可以更灵活地安排延时任务,适合需要周期性或定时执行的场景。

ScheduledExecutorService executor = Executors.newScheduledThreadPool(1);
executor.schedule(() -> {
    System.out.println("延时任务执行");
}, 1, TimeUnit.SECONDS); // 1 秒后执行
executor.shutdown();

Object.wait()

Object.wait() 方法可以让当前线程进入等待状态,直到其他线程调用 notify()notifyAll()。通常用于线程间通信。

java 如何延时

synchronized (lockObject) {
    try {
        lockObject.wait(1000); // 延时 1 秒或直到被唤醒
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
}

注意事项

  • Thread.sleep()TimeUnit.sleep() 会阻塞当前线程,不适合在主线程或 UI 线程中使用。
  • ScheduledExecutorService 更适合异步任务调度,避免阻塞主线程。
  • Object.wait() 需要配合同步块使用,通常用于多线程协作场景。

标签: java
分享给朋友:

相关文章

java如何创建线程

java如何创建线程

创建线程的方法 在Java中,创建线程主要有两种方式:继承Thread类和实现Runnable接口。以下是具体实现方法: 继承Thread类 通过继承Thread类并重写run()方法可以创建线程。…

java如何调用接口

java如何调用接口

调用接口的基本方法 在Java中调用接口通常涉及实现接口或使用接口引用对象。以下是几种常见场景的示例: 定义接口 public interface MyInterface { void d…

如何运行java文件

如何运行java文件

运行Java文件的方法 确保已安装Java Development Kit (JDK),可通过命令行输入java -version和javac -version验证安装。 编写Java代码并保存为.…

如何运行java项目

如何运行java项目

运行Java项目的步骤 确保Java环境已安装 在运行Java项目前,需确认系统已安装Java Development Kit(JDK)。通过命令行输入java -version和javac -ver…

如何选择java培训

如何选择java培训

评估培训机构资质 选择有正规资质的机构,查看其营业执照、办学许可证等。优先考虑具备人力资源和社会保障部或教育部认证的机构,这类机构的教学质量和课程设置通常更规范。 考察课程内容与行业需求匹配度…

java中如何获取当前时间

java中如何获取当前时间

获取当前时间的几种方法 使用 java.time 包(Java 8及以上推荐) import java.time.LocalDateTime; LocalDateTime currentTime =…