当前位置: 首页 > news >正文

Java定时器Timer的使用

一、Timer常用方法

Timer应用场景:

1、每隔一段时间执行指定的代码逻辑(即按周期执行任务)

2、指定时间执行指定的代码逻辑

为方便测试并查看运行效果,首先先建一个类并继承TimerTask,代码如下:

package timerTest;import java.util.Date;
import java.util.TimerTask;public class task1 extends TimerTask {@Overridepublic void run(){System.out.println("【任务执行了】任务在"+new Date()+"这个时间点执行!");}
}

接着主要说明Timer的几个常用方法。

1、在某个时间点执行一次任务

代码如下:

    public static void main(String args[]){task1 myTask1=new task1();Timer myTimer=new Timer();//获取5秒后的一个时间点:doTimeCalendar cal=Calendar.getInstance();cal.add(Calendar.SECOND,5);Date doTime=cal.getTime();//在doTime这个时间点执行任务(注意:只执行一次)myTimer.schedule(myTask1,doTime);System.out.println("现在时间是:"+new Date());}

执行结果如下:

2、在某个时间点执行一次任务,接着每隔X秒执行一次任务

代码如下:

    public static void main(String args[]){task1 myTask1=new task1();Timer myTimer=new Timer();//获取5秒后的一个时间点:doTimeCalendar cal=Calendar.getInstance();cal.add(Calendar.SECOND,5);Date doTime=cal.getTime();//在doTime这个时间点开始执行任务1次,接着每隔3秒执行一次myTimer.schedule(myTask1,doTime,3000);System.out.println("现在时间是:"+new Date());}

执行结果如下:

  

3、在N秒后执行一次任务

代码如下:

    public static void main(String args[]){task1 myTask1=new task1();Timer myTimer=new Timer();//在5秒后执行一次任务(注意:只执行一次)myTimer.schedule(myTask1,5000);System.out.println("现在时间是:"+new Date());}

执行结果如下:

4、在N秒后执行一次任务,接着每隔X秒执行一次任务

代码如下:

    public static void main(String args[]){task1 myTask1=new task1();Timer myTimer=new Timer();//在5秒后执行一次任务,接着每隔2秒执行一次任务myTimer.schedule(myTask1,5000,2000);System.out.println("现在时间是:"+new Date());}

执行结果如下:

二、Timer的多任务模式

待更新。。。。。。

http://www.lryc.cn/news/32711.html

相关文章:

  • MySQL安装和配置
  • openpnnp - 载入板子后,要确定板子的放置角度
  • HCIP知识点(前三天)
  • 模板学堂丨妙用Tab组件制作多屏仪表板并实现自动轮播
  • C++:初识函数模板和类模板
  • 3.8妇女节如何做好TikTok网红营销?
  • 使用Advanced Installer打包程序及运行环境
  • 华为OD机试真题Python实现【计算堆栈中的剩余数字】真题+解题思路+代码(20222023)
  • 企业文件数据泄露防护(DLP)
  • 不考虑分配与合并情况下,GO实现GCMarkSweep(标记清楚算法)
  • 利用HGT聚类单细胞多组学数据并推理生物网络
  • 杂记——18.VSCode的下载及使用
  • 【独家】华为OD机试 - 最少停车数(C 语言解题)
  • 顶级动漫IP加持之下,3A策略游戏Mechaverse如何改变GameFi
  • 一款丧心病狂的API测试工具:Apifox!
  • 【前端学习】D2-2:CSS基础
  • Flink / Scala 实战 - 19.ProcessFunction 删除 key 的上一个定时器 TimeTimer
  • MSTP基础
  • 当ChatGPT遇见stable-diffusion,你不敢相信的创意艺术之旅!
  • 一文搞定!postman接口自动化测试【附项目实战详解】
  • ctfshow【菜狗杯】wp
  • 旋转数组的几种做法
  • 创建虚拟机、添加镜像以及配置虚拟机
  • Godot Engine 4.0横空出世,Vulkan大怪兽加持,画质提升简直亮瞎眼
  • CorelDRAWX4的VBA插件开发(四十五)建立类(2)汇总相似功能简化重复代码:一键建立设计外框加出血线和等分折页线
  • 我的十年编程路 2017年篇
  • hadoop有多个输入路径怎么处理
  • day6 ServletContext
  • Dockerfile部署SpringBoot项目
  • Java面向对象特征之三:多态