Timer定时器 schedule方法

本文介绍了Java中的Timer定时器工具,它会在独立线程中执行定时任务。TimerTask是实现Runnable的抽象类,用于定义要执行的任务。文章详细讲解了schedule方法的四种重载形式,包括首次执行时间、延时和循环间隔时间的设置。同时,提到了fixedRate和fixedDelay的区别,以及如何使用cron表达式进行定时任务调度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Timer:jdk中提供的一个定时器工具,使用的时候会在主线程之外起一个单独的线程执行指定的计划任务
TimerTask:实现了Runnable接口的抽象类,代表一个可以被Timer执行的任务。
设置定时器执行任务:

Timer timer=new Timer();
TimerTask timerTask=new TimerTask() {
      @Override
       public void run() {
           System.out.println(System.currentTimeMillis());
       }
};
timer.schedule(timerTask, ......);

schedule有四种重载
在这里插入图片描述

  • task:被Timer执行的任务
  • time|firstTime:首次执行的时间
  • delay:从当前系统时间开始算起首次执行延时的时间,单位为毫秒,必须大于等于0
    从当前系统时间开始算起:
    在这里插入图片描述
    必须大于等于0:
    在这里插入图片描述
  • period:循环间隔时间,单位为毫秒,必须大于0
    必须大于0:
    在这里插入图片描述

使用Scheduled注解:
eg:@Scheduled(fixedRate = 5000)
参数之间的区别:
fixedRate:延时为从上次的结束时间到下次任务的开始时间
fixedDelay:延时为从上次的开始时间到下次任务的开始时间
cron:延时为从上次的开始时间到下次任务的开始时间,如执行时间超过延时则跳过下次执行,直到本次完成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值