当前位置:首页 > 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如何创建数组

创建数组的基本方法 在Java中,数组是固定大小的同类型元素集合。创建数组需要声明数组类型并初始化。 声明数组 语法格式为 数据类型[] 数组名 或 数据类型 数组名[]: int[] arr1;…

java如何配置环境变量

java如何配置环境变量

配置Java环境变量的方法 下载并安装JDK 从Oracle官网或OpenJDK下载适合操作系统的JDK安装包。运行安装程序并按照提示完成安装,记下JDK的安装路径(例如C:\Program File…

java如何创建项目

java如何创建项目

使用IDE创建Java项目(以IntelliJ IDEA为例) 打开IntelliJ IDEA,选择“New Project”。 在左侧菜单中选择“Java”,确保已配置JDK(若无需手动添加)。 勾…

如何编译java

如何编译java

安装JDK 确保系统已安装Java Development Kit(JDK)。可通过命令行输入 javac -version 和 java -version 验证是否安装成功。若未安装,需从Oracl…

java如何获取当前时间

java如何获取当前时间

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

java如何遍历map

java如何遍历map

遍历Map的几种方法 在Java中,遍历Map有多种方式,可以根据需求选择合适的方法。以下是常见的几种遍历方式: 使用entrySet遍历 通过entrySet()方法获取键值对的集合,可以同时访问…