java定时启动线程

2014-11-15 14:15:37 · 作者: · 浏览: 25

  在实际应用中很多情况需要定时运行程序,比如10分钟或者1小时执行一次程序,对此操作java和C#一样可以使用Timer计时器实现,即java.util.Timer中的Timer类。


  Timer的定义:Timer timer = new Timer();创建一个新计时器。相关的线程不作为守护程序运行。


  然后是设置时间间隔执行程序:timer.schedule(new TimerTaskTest(), 1000, 1*1000);我让程序在1000毫秒延迟后开始每隔1*1000毫秒执行一次run函数,其中TimerTaskTest是继承于TimerTask 的一个自定义类:


  class TimerTaskTest extends TimerTask


  {


  public void run()


  {


  System.out.println("make it!");//让程序执行输出make it操作!


  }


  }


  其中schedule函数的解释:public void schedule(TimerTask task,


  long delay,


  long period)


  安排指定的任务从指定的延迟后开始进行重复的固定延迟执行。以近似固定的时间间隔(由指定的周期分隔)进行后续执行。 task - 所要安排的任务。delay - 执行任务前的延迟时间,单位是毫秒。 period - 执行各后续任务之间的时间间隔,单位是毫秒。


  代码:


  public static void main(String[] args) throws SQLException


  {


  // TODO Auto-generated method stub


  Timer timer = new Timer();


  //排指定的任务从指定的延迟后开始进行重复的固定延迟执行。以近似固定的时间间隔(由指定的周期分隔)进行后续执行。


  timer.schedule(new TimerTaskTest(), 1000, 10*1000);