Java循环调用多个timer实现定时任务
通常在使用java实现定时任务时,有两种方法,一种是spring中的schedule(cron="*/5***?"),另一种就是java中的timer,
timer+TimerTask配合实现,这里附上Timer对象的一些常用api
Timer()创建-个新计时器。 Timer(booleanisDaemon)创建一个新计时器,可以指定其相关的线程作为守护程序运行。 Timer(String,name)创建一个新计时器,其相关的线程具有指定的名称。 Timer(String,name,booleanisDaemon)创建一个新计时器,可以指定其相关的线程作为守护程序运行。 cancel()终止此计时器,丢弃所有当前已安排的任务。. purge()从此计时器的任务队列中移除所有己取消的任务。 schedule(TimerTask,task,Datetime)安排在指定的时间执行指定的任务。 schedule(TimerTasktask,DatefirstTime,longperiod)安排指定的任务在指定的时间开始进行重复的固定延迟执行。 schedule(TimerTasktask,long,delay)安排在指定延迟后执行指定的任务。 schedule(TimerTasktask,1ong.delay,longperiod)安排指定的任务从指定的延迟后开始进行重复的固定延迟执行。 scheduleAtFixedRate(TimerTasktask,DatefirstTime,longperiod)安排指定的任务在指定的时间开始进行重复的固定速率执行。 scheduleAtFixedRate(TimerTasktask,longdelay,longperiod)安排指定的任务在指定的延迟后开始进行重复的固定速率执行。
下面列举一个循环创建TimerTask的实例:
publicstaticvoidmain(String[]args)throwsParseException{ ArrayListlist=newArrayList<>();//TimeClass是自己写的一个类,只有两个字段,privateStringstartTime和privateStringendTime;list.add(newTimeClass("2020-07-2320:08:00","2020-07-2320:08:15"));list.add(newTimeClass("2020-07-2320:08:30","2020-07-2320:08:00"));DateFormatdf=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss"); //一个对象,在指定的开始时间和结束时间,分别进行不同的操作,如商品的定时上架、下架。 Timertimer=newTimer(); for(inti=0;i 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。