前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java 定时器Timer「建议收藏」

Java 定时器Timer「建议收藏」

作者头像
全栈程序员站长
发布2022-10-02 10:33:58
4380
发布2022-10-02 10:33:58
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

简介

Timer是Java提供的原生Scheduler(任务调度)工具类,用来在一个后台线程计划执行指定任务。 利用Timer可以安排任务“执行一次”或者定期“执行多次”。

Timer类提供了以下方法:

  • schedule(TimerTask task, Date time) 安排在 “指定的时间” 执行 指定的任务(只执行一次)
  • schedule(TimerTask task, Date firstTime , long period) 安排指定的任务在 “指定的时间 ” 开始进行 “重复” 的固定延迟执行
  • schedule(TimerTask task,long delay) 安排在指定延迟后执行指定的任务
  • schedule(TimerTask task,long delay,long period) 安排指定的任务指定的延迟后开始进行重复的固定延迟执行
  • scheduleAtFixedRate(TimerTask task,Date firstTime,long period) 安排指定的任务在指定的时间开始进行重复的固定速率执行
  • scheduleAtFixedRate(TimerTask task,long delay,long period) 安排指定的任务在指定的延迟后开始进行重复的固定速率执行
  • Timer.cancal() 终止此计时器,丢弃所有当前已安排的任务
  • Timer.purge() 从此计时器的任务队列中移除所有已取消的任务

示例:在指定的时间执行一次任务

代码语言:javascript
复制
public static void main(String[] args) throws ParseException { 

Timer timer = new Timer();
TimerTask task = new TimerTask() { 

@Override
public void run() { 

System.out.println("***");
}
};
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = sdf.parse("2022-4-6 12:07:00");
timer.schedule(task,date);
}

示例

  • 定时器任务
代码语言:javascript
复制
class MyTask extends TimerTask{ 

private Timer timer;
public MyTask(Timer timer) { 

this.timer = timer;
}
@Override
public void run() { 

System.out.println("****");
timer.cancel();
}
}
  • 定时执行任务,测试代码
代码语言:javascript
复制
    public static void main(String[] args) throws ParseException { 

Timer timer = new Timer();
String str = "2022-4-6 15:36:52";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = sdf.parse(str);
timer.schedule(new MyTask(timer),date);
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/192250.html原文链接:https://javaforall.c

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年9月18日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
  • 示例:在指定的时间执行一次任务
  • 示例
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档