Timer和TimerTask定时调度

来源:互联网 发布:mac上安装win7双系统 编辑:程序博客网 时间:2024/05/13 05:16

本文来源于:http://zengzhaoshuai.iteye.com/blog/1121105

Timer类是一种线程设施,可以用来实现某一个时间或某一段时间后安排某一个任务执行一次或定期重复执行。该功能和TimerTask配合使用。TimerTask类用于实现由Timer安排的一次或重复执行的某个任务。每一个Timer对象对应的是一个线程,因此计时器所执行的任务应该迅速完成,否则会延迟后续的任务执行。 

  Timer类方法摘要 
Java代码  收藏代码
  1. void cancel()   
  2.           终止此计时器,丢弃所有当前已安排的任务。   
  3.  int purge()   
  4.           从此计时器的任务队列中移除所有已取消的任务。   
  5.  void schedule(TimerTask task, Date time)   
  6.           安排在指定的时间执行指定的任务。   
  7.  void schedule(TimerTask task, Date firstTime, long period)   
  8.           安排指定的任务在指定的时间开始进行重复的固定延迟执行。   
  9.  void schedule(TimerTask task, long delay)   
  10.           安排在指定延迟后执行指定的任务。   
  11.  void schedule(TimerTask task, long delay, long period)   
  12.           安排指定的任务从指定的延迟后开始进行重复的固定延迟执行。   
  13.  void scheduleAtFixedRate(TimerTask task, Date firstTime, long period)   
  14.           安排指定的任务在指定的时间开始进行重复的固定速率执行。   
  15.  void scheduleAtFixedRate(TimerTask task, long delay, long period)   
  16.           安排指定的任务在指定的延迟后开始进行重复的固定速率执行。   


TimerTask类方法摘要 
Java代码  收藏代码
  1. boolean cancel()   
  2.           取消此计时器任务。   
  3. abstract  void run()   
  4.           此计时器任务要执行的操作。   
  5.  long scheduledExecutionTime()   
  6.           返回此任务最近实际 执行的已安排 执行时间。   


TimerTask类是个抽象类,如果要用该类,需要自己建立一个类来继承此类,并实现其中的抽象方法。 
Java代码  收藏代码
  1. package zzs.time.demo;  
  2.   
  3. import java.text.SimpleDateFormat;  
  4. import java.util.Date;  
  5. import java.util.TimerTask;  
  6.   
  7. public class MyTask extends TimerTask {  
  8.   
  9.     @Override  
  10.     public void run() {  
  11.         // TODO Auto-generated method stub  
  12.         SimpleDateFormat simpleDateFormat=null;  
  13.         simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS");  
  14.         System.out.println("当前的系统时间为:"+simpleDateFormat.format(new Date()));  
  15.   
  16.     }  
  17.   
  18. }  


Java代码  收藏代码
  1. package zzs.time.demo;  
  2.   
  3. import java.util.Timer;  
  4.   
  5. public class TestTask {  
  6.   
  7.     /** 
  8.      * @param args 
  9.      * @throws InterruptedException  
  10.      */  
  11.     public static void main(String[] args) throws InterruptedException {  
  12.         // TODO Auto-generated method stub  
  13.         Timer  timer=new Timer();  
  14.         MyTask myTask=new MyTask();  
  15.         timer.schedule(myTask, 10002000);  
  16.                // Thread.sleep(5000);  
  17.         //timer.cancel();  
  18.   
  19.     }  

0 0
原创粉丝点击