Timer TimerTask

本文介绍了Java中的定时任务组件Timer和TimerTask的使用方法,包括如何创建只执行一次的任务及周期性执行的任务。

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

Timer和TimerTask就是我们在Java中常常会提起的定时任务。我们来看看他们中的方法。

TimerTask的类结构

public abstract class TimerTask implements Runnable 

我们实现定时任务的时候,其实需要自己实现逻辑。例如

   Timer time=new Timer();
    time.schedule(new TimerTask() {
        @Override
        public void run() {
            System.out.println("aa");
        }
    },new Date());

我们来看看Timer里面的方法。

public void schedule(TimerTask task, long delay) {
        if (delay < 0)
            throw new IllegalArgumentException("Negative delay.");
        sched(task, System.currentTimeMillis()+delay, 0);
    }

创建一个定时任务,在延迟多少秒后执行,但是只执行一次。

public void schedule(TimerTask task, Date time) {
        sched(task, time.getTime(), 0);
    }

创建一个定时任务,在指定的时间执行,也是只执行一次。

public void schedule(TimerTask task, long delay, long period) {
        if (delay < 0)
            throw new IllegalArgumentException("Negative delay.");
        if (period <= 0)
            throw new IllegalArgumentException("Non-positive period.");
        sched(task, System.currentTimeMillis()+delay, -period);
    }

创建一个定时任务,延迟多长时间开始执行,以后每隔多长时间在执行。

 public void schedule(TimerTask task, Date firstTime, long period) {
        if (period <= 0)
            throw new IllegalArgumentException("Non-positive period.");
        sched(task, firstTime.getTime(), -period);
    }

创建一个定时任务,在指定的时间执行,以后每隔多长时间执行。

我们就简单讲讲常用的方法就行。不用过多了解,感兴趣的小伙伴,可以自己去撸源码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值