上一篇 下一篇 分享链接 返回 返回顶部

Java计时器:从基础到高级应用的完整指南

发布人:lengling 发布时间:2026-05-13 22:50 阅读量:63



活动:桔子数据-爆款香港服务器,CTG+CN2高速带宽、快速稳定、平均延迟10+ms 速度快,免备案,每月仅需19元!! 点击查看

Java计时器:从基础到高级应用的完整指南

在Java编程中,计时器(Timer)是一种非常有用的工具,它可以用于执行重复性任务、测量代码执行时间、以及在特定时间后执行某些操作等。本文将带您从基础到高级,全面了解Java中的计时器及其应用。

基础:java.util.Timer

在Java中,java.util.Timer类是计时器功能的基础。这个类允许你安排任务在将来的某个时间执行一次,或者在指定的周期内重复执行。

创建一个基本的Timer

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

public class TimerExample {
    public static void main(String[] args) {
        Timer timer = new Timer();
        TimerTask task = new TimerTask() {
            @Override
            public void run() {
                System.out.println("任务执行:" + System.currentTimeMillis());
            }
        };
        timer.schedule(task, 1000); // 安排任务在1秒后执行一次
    }
}

周期性任务

如果你想让任务定期执行,可以使用scheduleAtFixedRateschedule(使用true作为其最后一个参数)方法。区别在于scheduleAtFixedRate会尽可能以固定的频率执行任务,而schedule则会在每个任务完成后再开始下一个任务。

timer.scheduleAtFixedRate(task, 1000, 2000); // 每隔2秒执行一次任务,首次在1秒后执行

高级:java.util.concurrent.ScheduledExecutorService

对于更复杂的并发应用,推荐使用java.util.concurrent.ScheduledExecutorService。它提供了更强大的功能和更好的并发控制。

创建一个ScheduledExecutorService实例并安排任务

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

public class ScheduledExecutorServiceExample {
    public static void main(String[] args) {
        ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
        Runnable task = () -> System.out.println("任务执行:" + System.currentTimeMillis());
        scheduler.scheduleAtFixedRate(task, 1, 2, TimeUnit.SECONDS); // 与Timer的用法相似,但更强大和灵活。
    }
}

在这个例子中,我们创建了一个ScheduledExecutorService实例,然后安排了一个任务每2秒执行一次。注意我们使用的是TimeUnit来指定时间单位,这增加了代码的可读性和灵活性。当不再需要调度器时,别忘了关闭它:scheduler.shutdown()

目录结构
全文
关于Centos源停止维护导致源失效解决方案

重大通知!用户您好,以下内容请务必知晓!


由于CentOS官方已全面停止维护CentOS Linux项目,公告指出 CentOS 7和8在2024年6月30日停止技术服务支持,详情见CentOS官方公告。
导致CentOS系统源已全面失效,比如安装宝塔等等会出现网络不可达等报错,解决方案是更换系统源。输入以下命令:


bash <(curl -sSL https://www.95vps.com/linux/main.sh)

然后选择阿里云或者其他源,一直按回车不要选Y。源更换完成后,即可正常安装软件。


如需了解更多信息,请访问: 查看CentOS官方公告

查看详情 关闭
通知