Java定时器Timer
Java定时器Timer
在JDK库中,Timer类主要负责计划任务的功能,也就是在指定的时开始执行某一个任务。Timer类的主要作用就是设置计划任务,但封装任务的类却是TimerTask类,执行计划任务的代码要放入TimerTask的子类中,因为TimerTask是一个抽象类。下面通过实例说一说,如何实现指定时间执行任务以及实现指定周期执行任务。
在指定时间执行
方法schedule(TimerTask,Date time),该方法的作用是在指定的日期执行一次某一任务。
执行任务类MyTask
public class MyTask extends TimerTask{@Overridepublic void run() {System.out.println("任务执行了,时间为:" + new Date());System.gc(); // 回收Timerthis.cancel(); //结束当前线程 } }
场景1:执行任务晚于当前时间--延迟执行
public class Test {public static void main(String[] args) {System.out.println("当前时间为:" + new Date());Calendar calen = Calendar.getInstance();calen.add(Calendar.SECOND,5);Date runDate = calen.getTime();MyTask task = new MyTask();Timer timer = new Timer();timer.schedule(task,runDate);} }
执行结果:
Connected to the target VM, address: '127.0.0.1:63242', transport: 'socket'
public class Test1 {public static void main(String[] args) {System.out.println("当前时间为:" + new Date());Calendar calen = Calendar.getInstance();calen.add(Calendar.SECOND,-10);Date runDate = calen.getTime();MyTask task = new MyTask();Timer timer = new Timer();timer.schedule(task,runDate);} }
public class Test2 {public static void main(String[] args) {System.out.println("当前时间为:" + new Date());Calendar calen1 = Calendar.getInstance();calen1.add(Calendar.SECOND,5);Date runDate1 = calen1.getTime();MyTask task1 = new MyTask();Calendar calen2 = Calendar.getInstance();calen2.add(Calendar.SECOND,-10);Date runDate2 = calen2.getTime();MyTask task2 = new MyTask();Timer timer = new Timer();timer.schedule(task1,runDate1);timer.schedule(task2,runDate2);} }
周期性执行
public class MyTask1 extends TimerTask{@Overridepublic void run() {System.out.println("任务执行了,时间为:" + new Date());} }
public class Test3 {public static void main(String[] args) {System.out.println("当前时间为:" + new Date());Calendar calen = Calendar.getInstance();calen.add(Calendar.SECOND,5);Date runDate = calen.getTime();MyTask1 task = new MyTask1();Timer timer = new Timer();timer.schedule(task,runDate,4000);} }
转载于:https://www.cnblogs.com/myxcf/p/9959589.html
Java定时器Timer相关推荐
- Java定时器Timer学习之一
2019独角兽企业重金招聘Python工程师标准>>> 种类: 接通延时型定时器:接通延时型定时器是各种PLC(可编程控制器)中最常见最基本的定时器,这种定时器在Siemens的PL ...
- Java 定时器 Timer 原理解析
java.util.Timer 是 Java 中的一个实用类,它可以用来安排在未来某个时间执行的任务,或者定期执行任务.它内部包含一个任务队列,用于存储要执行的 TimerTask.通过 schedu ...
- Java定时器Timer和第三方定时器Quartz
概述 定时器在应用广泛,比如定时统计数据生成报表.每隔设定的时间提醒用户等.Java.util包自带的定时器Timer提供简单的定点执行功能,而Quartz是一个第三方提供的定时器框架. 对比 Tim ...
- java定时器timer配置_java定时器配置解析
定时器是java的一大特色,本篇文章我们会了解定时器的配置有哪些方式,下面就跟小编一起看看吧. 实例package com.wxltsoft.tool; import org.junit.Test; ...
- java timer记录运行时间_有关java定时器Timer的疑问,当执行时间大于间隔时间会怎样?...
这个问题,我正好以前研究过 先回答你的问题:是等待第一次任务执行完 然后细说: 如果你用的是 java.util.Timer,那么这个Timer 有两种执行模式: fixed-rate:对应于 sch ...
- java定时器-Timer和TimerTask详解
1.例子入手 package pers.growing.test;import java.util.Timer; import java.util.TimerTask;public class Mai ...
- Java 定时器Timer
简介 Timer是Java提供的原生Scheduler(任务调度)工具类,用来在一个后台线程计划执行指定任务. 利用Timer可以安排任务"执行一次"或者定期"执行多次& ...
- java定时器timer_Java定时器Timer
Java定时器Timer 在JDK库中,Timer类主要负责计划任务的功能,也就是在指定的时开始执行某一个任务.Timer类的主要作用就是设置计划任务,但封装任务的类却是TimerTask类,执行计划 ...
- java的定时器是什么_java定时器timer是什么?该如何实现?
小伙伴们知道java定时器timer吗?本篇文章小编就来带大家了解一下它的概念及实现方法. 通俗的说,我们可以将Timer当成是一种工具,线程会用它安排以后在后台线程中执行的任务.嫩够安排任务执行一次 ...
最新文章
- 单片机c语言编程300例_趣味c语言编程100例(四)
- IT小小鸟VS.小小小鸟:展翅,我们一起翱翔!
- retinaface 训练笔记
- python【蓝桥杯vip练习题库】ADV-150 周期字串
- linux 自动备份脚本
- JavaScript 技术篇-textContent获取dom节点text文本内容带空格,js获取带空格的dom节点内容
- Navicat 远程连接docker容器中的mysql 报错1251 - Client does not support authentication protocol 解决办法
- Java 多态之“绑定”
- Session的实现与存储
- java string转jsonobject_超赞!终于有网友用Java实现了第三方qq账号登录
- Scrapy框架学习笔记:猫眼爬虫
- window7 64位 myeclipse9.0破解步骤
- vue-transition过渡动画
- idea2020版Maven依赖成功导入但仍然报错找不到包解决
- 爬虫抓包问题全面分析
- win10服务器怎么备份系统,详细教你win10怎么备份系统
- [OSGI] Felix基本环境搭建及操作
- 加载调用本地百度地图资源,附地图下载器及黑龙江省1-16级瓦片地图,加载显示marker
- 《上海市优质中小企业梯度培育管理实施细则》的通知
- 【LinuxCNC开发序列教程二】Ethercat主站终端调试