定时任务调度工作(学习记录 二)timer定时函数的用法

  


schedule的四种用法:

1.schedule(task,time)

参数:

task----所安排的任务

time----执行任务的时间

作用:

在时间等于或超过time的时候执行且仅执行一次task(ps:这里的  超过  是指time设置为在当前时间之前时,会立即执行task)

测试:

public class MyTimerTask extends TimerTask{
    private String name;
    public MyTimerTask(String inputName) {
        name = inputName;
    }
    @Override
    public void run() {
        //以yyyy-MM-dd HH:mm:ss的格式打印当前执行时间
        //如2019-4-22 00:00:00
        Calendar calendar = Calendar.getInstance();
        SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        //打印当前name的内容
        System.out.println("Current exec name is:" + name + "--------------" + sf.format(calendar.getTime()));
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}

 

public class MyTimer {
    public static void main(String[] args) {
        //创建一个timer实例
        Timer timer =new Timer();
        //创建一个MyTimerTask实例
        MyTimerTask myTimerTask = new MyTimerTask("No.1");
        //通过timer定时定频率调用myTimerTask的业务逻辑
        // 即第一次执行是在当前时间的两秒之后,之后每隔一秒钟执行一次。执行的是myTimerTask中的run方法。
        //timer.schedule(myTimerTask, 2000L,1000L);
        
        
        /*获取当前时间,并设置成距离当前时间三秒之后的时间
         * 如当前时间是2019-4-22 23:59:57
         * 则设置后的时间则为2019-4-23 00:00:00 
         * */
        Calendar calendar = Calendar.getInstance();
        SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        System.out.println(sf.format(calendar.getTime()));
        calendar.add(Calendar.SECOND, 3);
        //--------- schedule的用法 --------
        /*1.schedule(task,time)
         *   在时间等于或超过time的时候执行且仅执行一次task  
         * */
        myTimerTask.setName("schedule1");
        timer.schedule(myTimerTask, calendar.getTime());
        }
}

运行结果如下:

 

2.schedule(task,time,period)

参数:

task----所要安排的任务

time----首次执行任务的时间

period----执行一次task的时间间隔,单位是毫秒

作用:

时间等于或超过time时首次执行task

之后每隔period毫秒重复执行一次task

 

/*2.时间等于或超过time时首次执行task
          之后每隔period毫秒重复执行一次task
          之后每隔两秒执行一次task*/
        myTimerTask.setName("schedule2");
        timer.schedule(myTimerTask, calendar.getTime(),2000);

执行效果如下:

 

3.schedule(task,delay)

参数:

task----所要安排的任务

delay----执行任务前的延迟时间,单位是毫秒

作用:

等待delay毫秒后执行且仅执行一次task

演示:

/*3.等待delay毫秒后执行且仅执行一次task
         如现在是2019-4-22 00:00:00
         则在2019-4-22 00:00:01第一次执行task:打印任务的名字
         */
        myTimerTask.setName("schedule3");
        timer.schedule(myTimerTask,1000);

执行效果如下:

 

 4.schedule(task,delay,period)

参数:

task----所要安排的任务

delay----执行任务前的延迟时间,单位是毫秒

period----执行一次task的时间间隔,单位是毫秒

作用:

等待delay毫秒后首次执行task0

之后每隔period毫秒重复执行一次task

 演示:

/*4.等待delay毫秒后首次执行task
          之后每隔period毫秒重复执行一次task
          如现在是2019-4-22 00:00:00
          则在2019-4-22 00:00:03第一次执行task:打印任务的名字
             之后每隔两秒执行一次task*/
        myTimerTask.setName("schedule4");
        timer.schedule(myTimerTask,3000,2000);

执行效果如下:


 

 

 scheduleAtFixedRate的两种用法:

scheduleAtFixedRate(task,time,period)

参数:

task----所要安排的任务

time----首次执行任务的时间

period----执行一次task的时间间隔,单位是毫秒

作用:

时间等于或超过time时首次执行task

之后每隔period毫秒重复执行一次task

演示:

/*1.时间等于或超过time时首次执行task
          之后每隔period毫秒重复执行一次task
          之后每隔两秒执行一次task*/
        myTimerTask.setName("scheduleAtFixedRate1");
        timer.scheduleAtFixedRate(myTimerTask, calendar.getTime(),2000);

执行效果如下:

 

scheduleAtFixedRate(task,delay,period)

参数:

task----所要安排的任务

delay----执行任务前的延迟时间,单位是毫秒

period----执行一次task的时间间隔,单位是毫秒

作用:

等待delay毫秒后首次执行task

之后每隔period毫秒重复执行一次task

 演示:

/* 2.等待delay毫秒后首次执行task
         之后每隔period毫秒重复执行一次task
         如现在是2019-4-22 00:00:00
          则在2019-4-22 00:00:03第一次执行task:打印任务的名字
             之后每隔两秒执行一次task*/
        myTimerTask.setName("scheduleAtFixedRate2");
        timer.scheduleAtFixedRate(myTimerTask, 3000, 2000);

 执行效果如下:

 

转载于:https://www.cnblogs.com/xk920/p/10749849.html

weixin_30294709
关注 关注
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
java定时任务TimerTimerTask使用详解
08-31
总结起来,`Timer` 和 `TimerTask` 提供了一种简单的方式在Java中实现定时任务,无论是单次执行还是周期性执行,都能方便地进行调度。但需要注意的是,由于 `Timer` 是基于单线程模型的,如果一个 `TimerTask` 执行...
关于Timer定时器的使用
最新发布
m0_75109656的博客
02-13 956
TImer的初步使用
【Java学习笔记(八十四)】 之 Timer定时器,TimerTask任务
开发小鸽
12-22 436
本文章由公号【开发小鸽】发布!欢迎关注!!! 老规矩–妹妹镇楼: 一. Timer定时器 (一) 概述        JDK库中,Timer类负责计划任务,即确定在指定的时间开始执行某一个任务,而任务代码需要封装在TimeTask类的子类中。 (Timer类的方法 1. schedule(TimeTask task, Date time)        在指定的日期执行一次任务,当指定的日期早于当前的时
博客开通第60天
weixin_30369041的博客
05-23 1597
java TimeTask类 java.util.Timer定时器,实际上是个线程,定时调度所拥有的TimerTasks。一个TimerTask实际上就是一个拥有run方法的类,需要定时执行的代码放到run方法体内,TimerTask一般是以匿名类的方式创建。一个完整的Timer:java.util.Timer timer = new java.util.Timer(true);/...
java scheduletask_java定时schedule(task,time)
weixin_28786193的博客
02-16 372
1.新建一个java项目,里面新建两个类,整体的框架如图所示: 2.MyTimer.java里面的代码如下所示:import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Timer;public class MyTimer {public static void main(String[] args) ...
Timer.schedule方法的使用
冰雪世界
07-08 5万+
java.util.Timer定时器的常用方法如下: schedule(TimerTask task, long delay) // 延迟delay毫秒后,执行一次task。 schedule(TimerTask task, long delay, long period) // 延迟delay毫秒后,执行第一次task,然后每隔period毫秒执行一次task。 举例: TimerTask ......
tp(worder_timer)定时任务,访问url_thinkphp_定时任务_TP_
10-01
开发者可以创建一个调度类,该类包含一个`schedule`方法,用于定义定时任务。例如,你可以创建一个名为`App\Task\Schedule`的类,然后在`schedule`方法中添加如下代码: ```php public function schedule...
Python定时任务sched模块用法示例
09-20
**范例** 展示了如何使用`threading.Timer`创建多线程定时任务。每个定时任务在单独的线程中执行,互不影响,避免了线程安全问题。`Timer`的`start`方法启动任务,`print "end"`语句不会被阻塞,而是立即执行。 #...
.net 定时任务工具类
06-23
为了使这个定时任务系统工作,我们需要一个调度器组件,它可以扫描带有`AutoTaskAttribute`的方法,并按照设定的时间间隔执行它们。这个调度器可以使用`System.Threading.Timer`或`System.Timers.Timer`来实现,也...
PHP定时执行任务实现方法详解(Timer
12-19
- 使用Cron服务,设置定时任务来定期执行这个`shell`脚本。 - 这种方法充分利用了Linux系统的计划任务功能,与PHP自身的关系较小。 2. **配合`ignore_user_abort()`和`set_time_limit()`**: - `ignore_user_...
定时任务实现原理详解
weixin_44593504的博客
12-21 6098
一、摘要 在很多业务的系统中,我们常常需要定时的执行一些任务,例如定时发短信、定时变更数据、定时发起促销活动等等。 在上篇文章中,我们简单的介绍了定时任务的使用方式,不同的架构对应的解决方案也有所不同,总结起来主要分单机和分布式两大类,本文会重点分析下单机的定时任务实现原理以及优缺点,分布式框架的实现原理会在后续文章中进行分析。 从单机角度,定时任务实现主要有以下 3 种方案: while + sleep 组合 最小堆实现 时间轮实现 、while+sleep组合 w
Java Timer定时器执行函数schedule的四种用法
smileAi66的博客
01-16 3655
1、schedule(task,delay) 参数:task—所要安排的任务 delay—执行任务前的延迟时间,单位毫秒 作用:等待delay毫秒后执行仅执行一次task import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Timer; import java.util.TimerTask;...
定时任务调度Timer篇)
Li_Rhine的博客
01-21 2630
Timer由JDK提供,可以实现简单的任务调度场景。Timer只有一个后台线程,所以在使用在注意其场合。定时器是异步执行,不影响定时器后面代码的运行! 虽然一个Timer可以运行多个定时任务,但是一个Timer是串行运行 Timer的使用禁区:1、对时效性要求比较较高的多任务并发作业    2、对复杂任务的调度 Timer的缺陷:1、管理并发的缺陷以及任务之间的协同缺陷(因为后台只有一个线程...
java定时schedule(task,time,period)
最有趣的编程
10-05 2418
1.新建一个java项目,里面新建两个java类,整体的框架如图所示: 2.MyTimer.java里面的代码如下所示: import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Timer; public class MyTimer { public static voi
java定时schedule(task,delay,period)
最有趣的编程
10-05 2880
1.新建一个java项目,里面新建两个类,整体的框架如图所示: 2.MyTimer.java里面的代码如下所示: [java] view plain copy  print? import java.text.SimpleDateFormat;   import java.util.Calendar;   impo
Python学习笔记(十三)——小甲鱼第四十四讲
qq_33613232的博客
01-30 533
0、 import time as t   class Mytimer:     def __init__(self):         self.unit = ['年','月','天','小时','分钟','秒']         self.borrow = [0,12,31,24,60,60]         self.prompt = '未开始计时'       ...
C语言操作时间函数time.ctime,实现定时执行某个任务小例子
一口Linux的专栏
09-15 2168
时间操作函数在实际项目开发中会经常用到,最近做项目也正好用到就正好顺便整理一下。 常用时间函数及举例 1、time函数 头文件:time.h 函数定义:time_t time (time_t *t) 说明: 返回从1970年1月1日的UTC时间从0时0分0妙算起到现在所经过的秒数。 举例如下: #include<stdio.h> #include<time.h> int main(){ time_t timep; long seconds = time(&time
Qt中定时器使用的两种方法
热门推荐
奋斗Andy的博客
10-10 5万+
Qt中定时器的使用有两种方法,一种是使用QObject类提供的定时器,还有一种就是使用QTimer类。          其精确度一般依赖于操作系统和硬件,但一般支持20ms。下面将分别介绍两种方法来使用定时器。 方法一:QObject中的定时器的使用,需要用到三个函数 1、   int QObject::startTimer ( int interval ) ;         这个是开
python程序计时_Python计时器小程序
weixin_39992957的博客
11-26 142
Python计时器小程序2017-07-02 10:33:50edits 5views 1011import time as tmclass MyTimer():'''我的计时器bykc20170702'''def __init__(self):self.begin = Falseself.end = Falseself.time = {"start":[],"end":[],"cost":[]}...
Python3定时任务实现:循环、Timerschedule与APScheduler
"本文将介绍Python3中实现定时任务的四种常见方法,包括循环+sleep、线程模块中的Timer类、schedule模块以及定时框架APScheduler,并通过实例展示如何使用这些方法来实现系统的CPU和内存使用率监测并记录到日志文件...
写文章

热门文章

  • BZOJ 1695 [Usaco2007 Demo]Walk the Talk 链表+数学 53726
  • Python求1000以内所有3或5的倍数的和。 11542
  • 怎么截取长图/滚动截图?(一文教你迅速截长图)? 7700
  • echarts y轴,显示数据,但不显示竖线 6688
  • 在dell服务器上装windows server 2012详细解析 6167

最新文章

  • 在PHP中使用redis来操作lua脚本,使用$redis->eval()命令时出错,参数传递无效
  • Python学习day45-数据库(总结)
  • spring5 源码深度解析-----ApplicationContext容器refresh过程
2019年753篇
2018年733篇
2017年693篇
2016年531篇
2015年403篇
2014年318篇
2013年254篇
2012年237篇
2011年142篇
2010年116篇
2009年103篇
2008年80篇
2007年57篇
2006年39篇
2005年36篇
2004年12篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家铜陵户内玻璃钢雕塑商场美陈初步提案湖北玻璃钢雕塑来图加工制作工业玻璃钢花盆哪家好专业的玻璃钢人物雕塑杨浦区玻璃钢雕塑销售厂家济源玻璃钢卡通雕塑厂家电话商场中秋节美陈布置小品玻璃钢卡通雕塑供应商惠州玻璃钢花盆雕塑河南玻璃钢花盆有哪些河南秋季商场美陈招远玻璃钢仿铜雕塑郸城玻璃钢雕塑厂家乌鲁木齐市玻璃钢雕塑景观厂上海商场主题创意商业美陈创作云南动物玻璃钢雕塑厂家海口玻璃钢雕塑设计制作多少钱甘肃彩色玻璃钢雕塑定制佛像玻璃钢雕塑价格彩色透明玻璃钢树脂雕塑龙岩玻璃钢花盆批发美陈玻璃钢动物雕塑代理商贵州水果玻璃钢雕塑销售电话商场美陈场景堆箱萍乡创意玻璃钢雕塑定制安阳人物玻璃钢雕塑北海玻璃钢雕塑价格表佛山现代玻璃钢卡通雕塑豪晋玻璃钢雕塑香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化