定时任务:Java中Timer和TimerTask的使用

java.util.Timer定时器,其实是个线程,定时调度所拥有的TimerTasks。 
一个TimerTask实际上就是一个拥有run方法的类,须要定时执行的代码放到run方法体内,TimerTask通常是以匿名类的方式建立。 

一个完整的Timer: 
java

Java代码  ide

  1. java.util.Timer timer = new java.util.Timer(true);   spa

  2. // true 说明这个timer以daemon方式运行(优先级低,   线程

  3. // 程序结束timer也自动结束),注意,javax.swing   io

  4. // 包中也有一个Timer类,若是import中用到swing包,   class

  5. // 要注意名字的冲突。   import

  6.   

  7. TimerTask task = new TimerTask() {   定时器

  8. public void run() {   程序

  9. ... //每次须要执行的代码放到这里面。   方法

  10. }   

  11. };   

  12.   

  13. //如下是几种调度task的方法:   

  14.   

  15. timer.schedule(task, time);   

  16. // time为Date类型:在指定时间执行一次。   

  17.   

  18. timer.schedule(task, firstTime, period);   

  19. // firstTime为Date类型,period为long   

  20. // 从firstTime时刻开始,每隔period毫秒执行一次。   

  21.   

  22. timer.schedule(task, delay)   

  23. // delay 为long类型:从如今起过delay毫秒执行一次   

  24.   

  25. timer.schedule(task, delay, period)   

  26. // delay为long,period为long:从如今起过delay毫秒之后,每隔period   

  27. // 毫秒执行一次。  


   
    

下面是一个完整的例子,由两个类组成,一个定制任务,一个调用java.util.Timer 

定制任务: 

Java代码

  1. import java.util.Timer;  

  2.   

  3. public class TimerTaskTest extends java.util.TimerTask{  

  4.   

  5. @Override  

  6. public void run() {  

  7.    // TODO Auto-generated method stub  

  8.    System.out.println("start");  

  9. }  

  10. }  


2.调用java.util.Timer 

Java代码

  1. import java.util.Timer;  

  2.   

  3. public class Test {  

  4. public static void main(String[] args){  

  5.    Timer timer = new Timer();  

  6.    timer.schedule(new TimerTaskTest(), 10002000);  

  7. }  

  8. }  

根据上面的介绍,即可以在1秒后,每隔2秒执行一次程序

相关文章
相关标签/搜索