当前位置:首页 > Java

java 如何触发timer

2026-03-20 23:11:10Java

触发 Timer 的方法

在 Java 中,可以使用 java.util.Timerjava.util.TimerTask 来创建定时任务。以下是具体实现方式:

使用 TimerTimerTask 的步骤

创建继承 TimerTask 的类,并实现 run 方法。run 方法中定义需要定时执行的任务逻辑。

import java.util.Timer;
import java.util.TimerTask;

public class MyTimerTask extends TimerTask {
    @Override
    public void run() {
        System.out.println("Task executed at: " + System.currentTimeMillis());
    }
}

初始化 Timer 对象并调度任务。schedule 方法可以设置延迟时间和执行间隔。

public class Main {
    public static void main(String[] args) {
        Timer timer = new Timer();
        MyTimerTask task = new MyTimerTask();

        // 延迟 1 秒后执行,之后每 2 秒执行一次
        timer.schedule(task, 1000, 2000);
    }
}

使用 ScheduledExecutorService 的替代方案

Java 5 之后推荐使用 ScheduledExecutorService,功能更强大且更灵活。

import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;

public class Main {
    public static void main(String[] args) {
        ScheduledExecutorService executor = Executors.newScheduledThreadPool(1);

        Runnable task = () -> {
            System.out.println("Task executed at: " + System.currentTimeMillis());
        };

        // 延迟 1 秒后执行,之后每 2 秒执行一次
        executor.scheduleAtFixedRate(task, 1, 2, TimeUnit.SECONDS);
    }
}

关键参数说明

  • schedule(TimerTask task, long delay, long period):延迟 delay 毫秒后开始执行,之后每隔 period 毫秒重复执行。
  • scheduleAtFixedRate(Runnable command, long initialDelay, long period, TimeUnit unit):延迟 initialDelay 时间后开始执行,之后每隔 period 时间重复执行,时间单位由 TimeUnit 指定。

注意事项

java 如何触发timer

  • Timer 是单线程的,如果任务执行时间过长,可能会影响后续任务的调度。
  • ScheduledExecutorService 支持多线程,更适合复杂场景。
  • 使用完毕后需调用 timer.cancel()executor.shutdown() 释放资源。

标签: javatimer
分享给朋友:

相关文章

java如何

java如何

Java 基础语法 Java 是一种面向对象的编程语言,语法相对严谨。每个 Java 程序必须包含一个 main 方法作为程序入口。以下是一个简单的 Java 程序示例: public class…

如何使用java

如何使用java

安装Java开发环境 下载并安装Java Development Kit(JDK),推荐从Oracle官网或OpenJDK获取最新版本。安装完成后配置环境变量,确保JAVA_HOME指向JDK安装路径…

java程序如何运行

java程序如何运行

编写Java代码 使用文本编辑器或IDE(如IntelliJ IDEA、Eclipse)编写Java源代码,保存为.java文件。例如: public class HelloWorld {…

如何运行java程序

如何运行java程序

编写Java代码 创建一个以.java为扩展名的文件,例如HelloWorld.java。文件内容需包含一个类定义,类名必须与文件名一致。例如: public class HelloWorld {…

java前景如何

java前景如何

Java 当前的市场需求 Java 在企业级开发、大数据、云计算等领域仍占据重要地位。许多大型企业(如银行、电商平台)依赖 Java 构建后端系统。招聘平台数据显示,Java 开发岗位数量稳定,尤其在…

java版本如何查看

java版本如何查看

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