定时任务调度之Timer---综合使用小案例
来源:互联网 发布:mac itunes 铃声找不到 编辑:程序博客网 时间:2024/05/21 22:29
#需求介绍:
在定时任务调度中,添加跳舞机器人和灌水机器人,两个人在任务调度中,各干各的事情,在灌水机器人灌满5L水后,灌水机器人结束工作任务,跳舞机器人休眠2秒结束任务.
#代码:
package com.haige.robot;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.TimerTask;public class DancingRobot extends TimerTask {@Overridepublic void run() {// TODO Auto-generated method stub //获得最近一次的执行时间,并将其格式化 Calendar calendar = Calendar.getInstance(); SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); System.out.println("任务执行的时间是: " + sf.format(scheduledExecutionTime())); System.out.println("开始跳舞!");}}
package com.haige.robot;import java.util.Timer;import java.util.TimerTask;public class WaterRobot extends TimerTask {private Timer timer;public WaterRobot(Timer InputTimer) {super();timer = InputTimer;}//最大容量为5L private Integer bucketCapacity = 0; @Overridepublic void run() {// TODO Auto-generated method stub //灌水直至桶满为止 if(bucketCapacity<5){ System.out.println("添加1L水到容器中!"); bucketCapacity ++; }else{ //水满之后就停止执行 System.out.println("已取消的任务数为 :" + timer.purge()); cancel(); System.out.println("灌水机器人已经停止执行!"); System.out.println("已取消的任务数为 :" + timer.purge()); System.out.println("注水完成,水容量为 : " + bucketCapacity + "L"); //等待两秒钟,终止timer里面的所有内容 try {Thread.sleep(2000);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();} timer.cancel(); //取消timer实例下所有线程的执行 }}}
package com.haige.robot;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Timer;public class Executor {public static void main(String[] args) {// TODO Auto-generated method stub Timer timer = new Timer(); //获取系统当前时间 Calendar calendar = Calendar.getInstance(); SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); System.out.println("系统时间是: " + sf.format(calendar.getTime())); DancingRobot danceRt = new DancingRobot(); WaterRobot waterRt = new WaterRobot(timer); //dance等待water停止两秒之后也停止执行 timer.schedule(danceRt, calendar.getTime(), 2000); timer.schedule(waterRt, calendar.getTime(), 3000);}}
#截图:
阅读全文
0 0
- 定时任务调度之Timer---综合使用小案例
- 定时任务调度之Timer
- 定时任务调度之Quartz----入门小案例
- Java定时任务调度之Timer
- java定时任务调度工具之Timer
- 定时任务调度工具之Timer(一)
- 定时任务调度工具之Timer(二)
- 定时任务调度工具之Timer(三)
- 定时任务调度工具之Timer(四)
- 定时任务调度之Timer----入门小试牛刀
- java定时任务调度之Timer
- 使用 Timer 实现任务调度(定时任务)
- java定时任务调度Timer
- Java并发定时任务调度之Timer和ScheduledExecutorService
- Java定时任务调度工具详解之Timer篇
- Java定时调度任务详解之Timer篇
- Java定时任务调度工具详解之Timer
- C# 使用定时任务 之 Timer类
- 《Fluentd 入门》笔记
- Queue容器
- java应届毕业生面试技巧
- C语言开发小练习3
- JS-RGB转16进制(rgb2hex)
- 定时任务调度之Timer---综合使用小案例
- 虚拟化与Docker
- rabbitmq基础
- TensorFlow 记录
- 97. Interleaving String
- 42. Trapping Rain Water
- C++ socket发送POST请求
- 小白的jsp学习笔记二
- 形参是实参的引用