zoukankan      html  css  js  c++  java
  • java timer 执行任务

    1. 建立timer

    import java.util.Timer;
    import java.util.TimerTask;
    
    public class Start 
    {
      public class Start 
      {
        private static final int RT_TIME_INTERVAL = 30*1000; //30s
        public static void main(String[] args) 
        {    
          TimerTask task = new MyTask();
          Timer    timer = new Timer ();      
          timer.schedule(task,0,RT_TIME_INTERVAL); 
              /*timer.scheduleAtFixedRate(arg0, arg1, arg2);*/
        }
        }
    }

    2.建立task,实现run方法

    import java.util.List;
    import java.util.TimerTask;
    
    public class MyTask extends TimerTask {        
        @Override
        public void run() 
        {
             System.out.println("My task begins");  
             System.out.println(new Date());            
        }
    }

    关于task执行时间的几点说明:

    1.假设task每5s执行一次,任务执行了3s,下一次任务会在2s后执行。

    2.如果任务执行了8s。会在此任务结束后立刻开始下一次任务。不会在同一时刻同时执行2个任务。

    3.scheduleAtFixedRate情况稍微复杂,假如第一次任务执行8s,第二次执行了2s,第三次也不会等(5-2)s,会立即执行,会去凑5,10,15那个时刻点

  • 相关阅读:
    Pascal's Triangle
    Pascal's Triangle II
    贪心算法入门
    Jump Game
    Symmetric Tree
    Reverse Words in a String
    [BZOJ2342][Shoi2011]双倍回文
    [HDU3068]最长回文
    [POJ1984]Navigation Nightmare
    [BZOJ3295][Cqoi2011]动态逆序对
  • 原文地址:https://www.cnblogs.com/xiangyu5945/p/6226243.html
Copyright © 2011-2022 走看看