java中定时执行任务

Posted shatter me

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中定时执行任务相关的知识,希望对你有一定的参考价值。

现在项目中用到需要定时去检查文件是否更新的功能。timer正好用于此处。

用法很简单,new一个timer,然后写一个timertask的子类即可。

代码如下:

[java] view plain copy
 
  1. package comz.autoupdatefile;  
  2.   
  3. import java.util.Timer;  
  4. import java.util.TimerTask;  
  5.   
  6. public class M {  
  7.     public static void main(String[] args) {  
  8.         // TODO todo.generated by zoer  
  9.         Timer timer = new Timer();  
  10.         timer.schedule(new MyTask(), 1000, 2000);  
  11.     }  
  12. }  
  13.   
  14. class MyTask extends TimerTask {  
  15.   
  16.     @Override  
  17.     public void run() {  
  18.         System.out.println("dddd");  
  19.   
  20.     }  
  21.   
  22. }  

这样,就可以在1秒钟之后开始执行mytask,每两秒钟执行一次。

当然,timer的功能也可以通过自己构造线程,然后在线程中用sleep来模拟停止一段时间,然后再执行某个动作。

其实,看一下timertask的源码就立即可以知道,timertask就是实现了runnable接口的。也就是说,通过timer来间隔一段时间执行一个操作,也是通过一个线程来做到的。

【这样就节省自己写线程的时间啦】

以上是关于java中定时执行任务的主要内容,如果未能解决你的问题,请参考以下文章

java 怎么写定时任务

JAVA定时执行任务,每天定时几点钟执行任务

Spring定时任务为啥没有执行

Java 如何实现这样的定时任务

如何让java定时执行一个方法

java中在定时器,定时每周一定时执行某个任务,必须在周一重新启动了服务,该任务就会在指定的时间点执行