java定时任务Timer和TimerTask使用详解
作者:我爱娃哈哈 时间:2023-07-13 00:29:33
timer和timertask是jdk自带的定时任务实现,无需导入第三方jar包来完成
1、指定多久之后执行此任务,注意:只会执行一次
public class TimerTest {
Timer timer;
public TimerTest(int time){
timer = new Timer();
timer.schedule(new timerTaskTest(),time*1000);//timer.schedule(执行的方法,延迟多久执行(ms))
}
public static void main(String[] args) {
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) {
new TimerTest1();
}
class TimerTaskTest1 extends TimerTask{
public void run() {
System.out.println("指定时间执行线程任务...");
}
}
}
3、在延迟指定时间后以指定的间隔时间循环执行定时任务
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中配置启动
<listener>
<listener-class>com.sxl.ContextListener</listener-class>
</listener>
配置完成即可。
标签:java,定时任务,Timer,TimerTask
0
投稿
猜你喜欢
Android沉浸式状态栏微技巧(带你真正理解沉浸式模式)
2022-04-22 01:28:31
利用C#实现绘制出地球旋转效果
2022-10-01 14:21:27
Java 实战范例之员工管理系统的实现
2023-03-31 08:09:33
C#敏感词过滤实现方法
2022-11-28 12:00:31
Java中this和super的区别及this能否调用到父类使用
2023-01-05 12:03:13
hibernate-validator改进校验框架validator v0.4使用
2023-01-22 21:08:07
Android中实现水平滑动(横向滑动)ListView示例
2021-09-07 18:15:03
IDEA项目maven project没有出现plugins和Dependencies问题
2021-08-08 10:59:53
flutter 中监听滑动事件
2021-10-05 11:39:00
c# 中文转拼音without CJK
2023-06-08 23:59:31
Java设计模式之接口隔离原则精解
2022-05-05 16:42:05
Android Studio实现帧动画
2023-11-19 01:28:13
java设计模式之浅谈适配器模式
2023-11-19 14:46:26
一款非常简单酷炫的LoadingView动画效果
2021-11-09 11:49:08
适用于WebForm Mvc的Pager分页组件C#实现
2022-05-11 22:11:34
如何使用Jenkins编译并打包SpringCloud微服务目录
2021-09-25 07:07:01
Android自定义控件仿QQ编辑和选取圆形头像
2022-11-10 09:40:37
Android入门之画图详解
2023-11-09 11:47:47
Java-String类最全汇总(上篇)
2023-04-15 11:47:10
java实现简单年龄计算器
2022-01-28 02:23:34