java中Timer定时器的使用
2016-09-30 14:52
344 查看
本博文只是简单介绍一下Timer的使用方法。适用于初学者进行参考,希望大家多多指点。废话不多说,直接上正题。
1、了解一下Timer类提供的方法
介绍几个常用的方法:
cancel() 终止此计时器,丢弃所有当前已安排的任务。
schedule(TimerTask task, long delay, long period) 安排指定的任务从指定的延迟后开始进行重复的固定延迟执行。
schedule(TimerTask task, long delay) 安排在指定延迟后执行指定的任务。(这个只执行一次,延时执行后,不再执行)
scheduleAtFixedRate(TimerTask task, long delay, long period) 安排指定的任务在指定的延迟后开始进行重复的固定速率执行。
2、Timer示例
本示例使用的是jdk1.6.
首先我编写了一个定时任务的工具类,提供了开始定时任务和取消定时任务。
然后,编写一个自己的任务类。
最后,有个测试类。
运行结果:
2012-09-10 10:01:24 Hello,lanJ
2012-09-10 10:01:30 Hello,lanJ
2012-09-10 10:01:36 Hello,lanJ
2012-09-10 10:01:38 Hello,bao
2012-09-10 10:01:42 Hello,lanJ
2012-09-10 10:01:44 Hello,bao
2012-09-10 10:01:48 Hello,lanJ
2012-09-10 10:01:50 Hello,bao
2012-09-10 10:01:54 Hello,lanJ
2012-09-10 10:01:56 Hello,bao
通过结果可以看出bao这个定时任务是延时了20秒才执行的。
testTimer.rar (4.3 KB)
下载次数: 2
1、了解一下Timer类提供的方法
介绍几个常用的方法:
cancel() 终止此计时器,丢弃所有当前已安排的任务。
schedule(TimerTask task, long delay, long period) 安排指定的任务从指定的延迟后开始进行重复的固定延迟执行。
schedule(TimerTask task, long delay) 安排在指定延迟后执行指定的任务。(这个只执行一次,延时执行后,不再执行)
scheduleAtFixedRate(TimerTask task, long delay, long period) 安排指定的任务在指定的延迟后开始进行重复的固定速率执行。
2、Timer示例
本示例使用的是jdk1.6.
首先我编写了一个定时任务的工具类,提供了开始定时任务和取消定时任务。
package com.bao.timerUtil; import java.util.Timer; import java.util.TimerTask; /** * 定时任务工具类 * @author lanJ * */ public class TimerUtil { //定时执行时间 private static long TIME = 1000*6; private Timer timer = null; //定时类 /** * 启动定时任务 * @param timerTask */ public void startTimer(TimerTask timerTask) { if(timer == null) { timer = new Timer(); } timer.schedule(timerTask, TIME, TIME); } /** * 延时20秒启动定时任务 * @param timerTask */ public void startAtFixedTimer(TimerTask timerTask) { if(timer == null) { timer = new Timer(); } timer.scheduleAtFixedRate(timerTask,1000*20,TIME); } /** * 停止定时任务 */ public void stopTimer() { timer.cancel(); } }
然后,编写一个自己的任务类。
package com.bao.timerTask; import java.text.SimpleDateFormat; import java.util.Date; import java.util.TimerTask; /** * 我的任务 说明:定时任务需要集成java.util.TimerTask类,并且重写run方法. 把你想要在定时任务中所做的事写在run方法中. * @author lanJ * */ public class MyTask extends TimerTask { private String name; public MyTask(String name) { this.name = name; } @Override public void run() { System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()) + " Hello," + this.name); } }
最后,有个测试类。
package com.bao.main; import com.bao.timerTask.MyTask; import com.bao.timerUtil.TimerUtil; public class TestMain { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub TimerUtil timerUtil = new TimerUtil(); timerUtil.startTimer(new MyTask("lanJ")); timerUtil.startAtFixedTimer(new MyTask("bao")); } }
运行结果:
2012-09-10 10:01:24 Hello,lanJ
2012-09-10 10:01:30 Hello,lanJ
2012-09-10 10:01:36 Hello,lanJ
2012-09-10 10:01:38 Hello,bao
2012-09-10 10:01:42 Hello,lanJ
2012-09-10 10:01:44 Hello,bao
2012-09-10 10:01:48 Hello,lanJ
2012-09-10 10:01:50 Hello,bao
2012-09-10 10:01:54 Hello,lanJ
2012-09-10 10:01:56 Hello,bao
通过结果可以看出bao这个定时任务是延时了20秒才执行的。
testTimer.rar (4.3 KB)
下载次数: 2
相关文章推荐
- java中使用线程实现Timer(定时器)原理和源码
- 显示第一个view, 延迟三秒再显示第二个view,使用java的定时器timer实现 需要启动两个activity
- java中使用线程实现Timer(定时器)原理和源码
- java中使用线程实现Timer(定时器)原理和源码
- java中使用线程实现Timer(定时器)原理和源码
- java中使用线程实现Timer(定时器)原理和源码
- java中使用线程实现Timer(定时器)原理和源码
- java定时器的使用(Timer)
- java中使用线程实现Timer(定时器)原理和源码
- java 定时器的使用(Timer) 日期类型 转换
- Java 中Timer和TimerTask 定时器和定时任务使用的例子
- java 定时器的使用(Timer)
- java中使用线程实现Timer(定时器)原理和源码
- java中使用线程实现Timer(定时器)原理和源码
- java timer定时器的使用
- java中的定时器Timer的使用及实例
- java中的定时器Timer的使用及实例
- java中使用线程实现Timer(定时器)原理和源码
- java中使用线程实现Timer(定时器)原理和源码
- java timer 定时器的使用