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那个时刻点

  • 相关阅读:
    全栈工程师学习Linux技术的忠告
    实战CentOS系统部署Hadoop集群服务
    如何安装最新的 XFCE 桌面?
    scrapy爬虫框架(二)
    scrapy爬虫框架(一)
    数据结构与算法(二)
    IDEA 常用快捷键
    数据结构与算法(一)
    es6之模板字符串
    es6之箭头函数
  • 原文地址:https://www.cnblogs.com/xiangyu5945/p/6226243.html
Copyright © 2011-2022 走看看