zoukankan      html  css  js  c++  java
  • timer.scheduleAtFixedRate和timer.schedule的实验

    基础代码:

    Calendar  currentTime = Calendar.getInstance();    

    currentTime.setTime(new Date()); 

    int  currentHour = currentTime.get(Calendar.SECOND);

    currentTime.set(Calendar.SECOND,  currentHour + 20);//第一(大于20秒):currentHour + 20;第二(小于20秒):currentHour - 20;第三(等于当前):currentHour
    currentTime.set(Calendar.MILLISECOND,  0); 

    Date NextHour = currentTime.getTime();

    解释:

    NextHour

    1*60*1000:周期为一分钟

    -----------------------------------------------------------------------------------------------------------------------

    1、timer.scheduleAtFixedRate(task, firstTime, period)的实验

    timer.scheduleAtFixedRate(new MyHourOnlineTask(event.getServletContext()),NextHour,1*60*1000);

    实验结果:

    假设条件:项目启动ok后的时间为2015-01-08 10:00:00!

    第一:2015-01-08 10:00:20时定时任务会执行一次,之后从2015-01-08 10:00:20开始计算,每隔1分钟执行一次。

    第二:2015-01-08 10:00:00时定时任务会执行一次,之后从2015-01-08 10:00:40开始计算,每隔1分钟执行一次。

    第三:2015-01-08 10:00:00时定时任务会执行一次,每隔1分钟执行一次。

    备注 timer.scheduleAtFixedRate(new MyHourOnlineTask(event.getServletContext()),0,1*60*1000);时,2015-01-08 10:00:00时定时任务会执行一次,每隔1分钟执行一次。

    2、timer.schedule(task, firstTime, period)的实验

    实验结果:

    假设条件:项目启动ok后的时间为2015-01-08 10:00:00!

    第一:2015-01-08 10:00:20时定时任务会执行一次,之后从2015-01-08 10:00:20开始计算,每隔1分钟执行一次。

    第二:2015-01-08 10:00:00时定时任务会执行一次,每隔1分钟执行一次。

    第三:2015-01-08 10:00:00时定时任务会执行一次,每隔1分钟执行一次。

    备注 timer.schedule(new MyHourOnlineTask(event.getServletContext()),0,1*60*1000);时,2015-01-08 10:00:00时定时任务会执行一次,每隔1分钟执行一次。

  • 相关阅读:
    1144 The Missing Number (20分)
    1145 Hashing
    1146 Topological Order (25分)
    1147 Heaps (30分)
    1148 Werewolf
    1149 Dangerous Goods Packaging (25分)
    TypeReference
    Supervisor安装与配置()二
    谷粒商城ES调用(十九)
    Found interface org.elasticsearch.common.bytes.BytesReference, but class was expected
  • 原文地址:https://www.cnblogs.com/jirglt/p/4210411.html
Copyright © 2011-2022 走看看