当前位置:首页 > Java

java程序如何暂停

2026-03-22 14:56:52Java

暂停 Java 程序的常见方法

Thread.sleep()
通过调用 Thread.sleep(long milliseconds) 方法可以让当前线程暂停指定时间(毫秒)。需处理 InterruptedException
示例代码:

try {
    Thread.sleep(1000); // 暂停1秒
} catch (InterruptedException e) {
    Thread.currentThread().interrupt(); // 恢复中断状态
}

Object.wait()
结合同步块使用 Object.wait(),释放对象锁并暂停线程,直到其他线程调用 notify()notifyAll()
示例代码:

synchronized (lockObject) {
    try {
        lockObject.wait(); // 暂停并释放锁
    } catch (InterruptedException e) {
        Thread.currentThread().interrupt();
    }
}

LockSupport.park()
使用 LockSupport.park() 暂停当前线程,需通过 LockSupport.unpark(Thread) 恢复。适用于高并发场景。
示例代码:

Thread thread = new Thread(() -> {
    LockSupport.park(); // 暂停线程
    System.out.println("Resumed");
});
thread.start();
LockSupport.unpark(thread); // 恢复线程

ScheduledExecutorService
通过调度任务实现延迟效果,适合需要定时控制的场景。
示例代码:

ScheduledExecutorService executor = Executors.newScheduledThreadPool(1);
executor.schedule(() -> {
    System.out.println("Task executed after delay");
}, 2, TimeUnit.SECONDS); // 延迟2秒执行

注意事项

java程序如何暂停

  • 避免在主线程中使用 Thread.sleep(),可能导致界面卡顿(如Swing/JavaFX)。
  • wait() 必须配合 synchronized 使用,否则会抛出 IllegalMonitorStateException
  • 线程暂停期间可能被中断,需妥善处理中断异常。

标签: 程序java
分享给朋友:

相关文章

如何配置java环境

如何配置java环境

下载JDK安装包 访问Oracle官网或OpenJDK官网,选择适合操作系统的JDK版本(如Windows、macOS或Linux)。下载完成后,运行安装程序并按照提示完成安装。 设置环境变量 右键…

java如何上传文件

java如何上传文件

使用HttpURLConnection上传文件 在Java中,可以通过HttpURLConnection实现文件上传功能。需要设置请求头为multipart/form-data,并构建包含文件数据的请…

java如何连接mysql数据库

java如何连接mysql数据库

连接 MySQL 数据库的步骤 添加 MySQL 驱动依赖 在项目中引入 MySQL 的 JDBC 驱动。如果使用 Maven,可以在 pom.xml 中添加以下依赖: <dependency…

如何学java基础

如何学java基础

学习Java基础的方法 理解Java的基本概念 Java是一种面向对象的编程语言,掌握基础概念如类、对象、继承、多态和封装是必要的。熟悉Java的语法结构,包括变量、数据类型、运算符和控制语句。 安…

如何学好java编程

如何学好java编程

理解基础概念 掌握Java的基础语法是学习的起点。变量、数据类型、运算符、控制结构(如循环和条件语句)是核心内容。面向对象编程(OOP)的概念(类、对象、继承、多态、封装)是Java的核心,需深入理解…

vue实现小程序

vue实现小程序

Vue 实现小程序的方案 Vue 本身是一个前端框架,主要用于构建 Web 应用。如果想用 Vue 开发小程序,可以通过以下方式实现: 使用 uni-app 框架 uni-app 是一个基于 Vue…