jdk自带的Timer定时器的使用示例
2012-08-14 18:19
423 查看
Timer定时器
package com.ttpod.task;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
public class TaskManager {
//对象
SomeService someService = new SomeService();
//日期
Date date = new Date();
//每次提前3秒钟执行任务
long three_second = 3000;
//定时器
Timer timer = new Timer();
//执行任务
public void runTask(){
System.out.println("start schedule task .......");
timer.schedule(new TargetTask(),0);
}
/**
* 任务
* @author luowei
*/
private class TargetTask extends TimerTask {
@Override
public void run() {
Long expir_in = Long.valueOf(someService.doSomeThing());
date.setTime(expir_in-three_second);
timer.schedule(new TargetTask(), date);
System.out.println("task has run.......");
}
}
/**
* main方法
* @param args 参数
*/
public static void main(String[] args) {
TaskManager manager = new TaskManager();
manager.runTask();
}
}
/**
* 目标service,需要定时执行目标service中的doSomeThing方法
* @author luowei
*
*/
class SomeService{
/**
* 返回long型格式的时间字符串
* @return 字符串
*/
public String doSomeThing() {
Date date = new Date();
date.setTime(date.getTime()+5000);
return String.valueOf(date.getTime());
}
}
package com.ttpod.task;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
public class TaskManager {
//对象
SomeService someService = new SomeService();
//日期
Date date = new Date();
//每次提前3秒钟执行任务
long three_second = 3000;
//定时器
Timer timer = new Timer();
//执行任务
public void runTask(){
System.out.println("start schedule task .......");
timer.schedule(new TargetTask(),0);
}
/**
* 任务
* @author luowei
*/
private class TargetTask extends TimerTask {
@Override
public void run() {
Long expir_in = Long.valueOf(someService.doSomeThing());
date.setTime(expir_in-three_second);
timer.schedule(new TargetTask(), date);
System.out.println("task has run.......");
}
}
/**
* main方法
* @param args 参数
*/
public static void main(String[] args) {
TaskManager manager = new TaskManager();
manager.runTask();
}
}
/**
* 目标service,需要定时执行目标service中的doSomeThing方法
* @author luowei
*
*/
class SomeService{
/**
* 返回long型格式的时间字符串
* @return 字符串
*/
public String doSomeThing() {
Date date = new Date();
date.setTime(date.getTime()+5000);
return String.valueOf(date.getTime());
}
}
相关文章推荐
- C#多线程编程之:Timer(定时器)使用示例
- C#多线程编程之:Timer(定时器)使用示例
- 两种方式实现java定时器,使用quartz定时器框架和java自带Timer定时器,编写定时任务
- java定时器timer的使用方法代码示例
- linux下定时器介绍2--timer_create等函数集的使用示例
- jdk自带定时器使用方法详解
- 【Timer】定时器使用示例
- C#中Timer定时器的使用示例
- java中使用线程实现Timer(定时器)原理和源码
- 使用jdk自带的derby数据库
- jdk自带工具使用
- timer_create定时器使用
- jdk中自带 jstat,jconsole,jps,jmap,jhat使用
- 关于手动给ie加java plugin ,并且使用JBUILDER9下面自带的JDK
- qt中定时器Timer的使用
- java中使用线程实现Timer(定时器)原理和源码
- Windows中定时器Timer使用中的注意事项
- QT 定时器 timer 使用
- java jdk1.6内置支持的webservice使用示例
- JDK1.4的java.util.Logging包的使用说明与示例