java定时任务Timer和TimerTask使用详解

网友投稿 228 2023-06-14


java定时任务Timer和TimerTask使用详解

timer和timertask是jdk自带的定时任务实现,无需导入第三方jar包来完成

1、指定多久之后执行此任务,注意:只会执行一次

public class Timehttp://rTest {

Timer timer;

public TimerTest(int time){

timer = new Timer();

timer.schedule(new timerTaskTest(),time*1000);//timer.schedule(执行的方法,延迟多久执行(ms))

}

public static void main(String[] argZPjGOs) {

System.out.println("timer begin...");

new TimerTest(3);

}

class timerTaskTest extends TimerTask{

@Override

public void run() {

System.out.println("time's up!!");

}

}

}

2、在指定的时间执行任务

public class TimerTest1 {

Timer timer;

public TimerTest1(){

Date time = getTime();

System.out.println("指定时间time="+time);

timer = new Timer();

timer.schedule(new TimerTaskTest1(),time);//timer.schedule(执行的方法,要执行的时间)

}

public Date getTime(){//设置执行时间

Calendar calendar = Calendar.getInstance();

calendar.set(Calendar.HOUR,5);

calendar.set(Calendar.MINUTE,46);

calendar.set(Calendar.SECOND,00);

Date time = calendar.getTime();

return time;

}

public static void main(String[] args) {

newZPjGO TimerTest1();

}

class TimerTaskTest1 extends TimerTask{

public void run() {

System.out.println("指定时间执行线程任务...");

}

}

}

3、在延迟指定时间后以指定的间隔时ZPjGO间循环执行定时任务

public class TimerTest2 {

Timer timer;

public TimerTest2(){

timer = new Timer();

timer.schedule(new TimerTaskTest2(),1000,2000);//tiemr.schedule(执行的方法,延迟时间,多久执行一次)

}

class TimerTaskTest2 extends TimerTask{

@Override

public void run() {

System.out.println("本次任务执行时间"+new Date());

}

}

public static void main(String[] args) {

new TimerTest2();

}

}

到这里定时任务实现类已经完成,如果是web项目,则需要在web.xml中配置启动

com.sxl.ContextListener

配置完成即可。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Spring中实现定时调度的几种方法
下一篇:Java 语言实现清除带 html 标签的内容方法
相关文章

 发表评论

暂时没有评论,来抢沙发吧~