当前位置:首页 > Java

java运行如何暂停

2026-03-24 16:16:17Java

暂停 Java 程序的方法

使用 Thread.sleep() 方法
通过调用 Thread.sleep(milliseconds) 可以让当前线程暂停执行指定的毫秒数。例如:

try {
    Thread.sleep(2000); // 暂停 2 秒
} catch (InterruptedException e) {
    e.printStackTrace();
}

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

java运行如何暂停

synchronized (lockObject) {
    try {
        lockObject.wait(); // 暂停线程,等待唤醒
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
}

使用 LockSupport.park() 方法
LockSupport.park() 可以暂停当前线程,直到调用 LockSupport.unpark(thread)

java运行如何暂停

Thread thread = Thread.currentThread();
LockSupport.park(); // 暂停当前线程
// 在其他线程调用 LockSupport.unpark(thread) 恢复

使用 CountDownLatchCyclicBarrier
通过并发工具类可以实现线程的暂停与恢复。例如 CountDownLatch

CountDownLatch latch = new CountDownLatch(1);
new Thread(() -> {
    try {
        latch.await(); // 暂停线程,直到 latch.countDown()
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
}).start();
latch.countDown(); // 恢复线程

使用 ScheduledExecutorService 延迟执行
通过调度线程池可以实现任务的延迟执行或暂停效果。

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

注意事项

  • Thread.sleep() 不会释放锁,而 wait() 会释放锁。
  • 使用 wait()notify() 时必须在同步块(synchronized)中调用。
  • 避免在主线程中长时间暂停,否则可能导致 UI 无响应(如 Swing/JavaFX)。
  • 多线程环境下需注意线程安全和死锁问题。

标签: java
分享给朋友:

相关文章

java如何创建文件

java如何创建文件

使用 File 类创建文件 通过 File 类的 createNewFile() 方法创建文件。此方法返回布尔值,表示文件是否成功创建。 import java.io.File; import ja…

java如何读取文件

java如何读取文件

读取文件的常用方法 Java提供了多种读取文件的方式,适用于不同场景和需求。以下是几种常见的方法: 使用FileInputStream和BufferedInputStream读取二进制文件…

如何编写java

如何编写java

编写Java程序的基本步骤 安装Java开发工具包(JDK),确保系统环境变量配置正确。可以从Oracle官网下载最新版本的JDK并进行安装。 选择一个合适的集成开发环境(IDE),如Eclipse…

java如何获取当前时间

java如何获取当前时间

获取当前时间的方法 在Java中,可以通过多种方式获取当前时间。以下是几种常见的方法: 使用 java.util.Date Date currentDate = new Date(); Syste…

如何安装java软件

如何安装java软件

下载Java安装包 访问Oracle官方网站或OpenJDK开源项目页面,选择适合操作系统的Java版本(如Windows、macOS或Linux)。对于个人使用,通常下载JDK(Java Devel…

java版本如何查看

java版本如何查看

查看Java版本的命令行方法 在命令行或终端中运行以下命令可以查看当前安装的Java版本: java -version 输出示例: java version "1.8.0_301" Java(TM…