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分钟执行一次。

  • 相关阅读:
    机器不学习:如何处理数据中的「类别不平衡」?
    机器不学习:一种提升预测能力的方法-机器学习模型
    机器不学习:CNN 入门讲解1-什么是卷积
    机器不学习:浅析深度学习在实体识别和关系抽取中的应用
    机器不学习:用神经模块网络学习推理
    机器不学习:初识迁移学习
    机器不学习:一文彻底读懂智能对话系统
    跟随鼠标的div
    回到顶部的流畅滚动——scrollTop
    js学习小笔记
  • 原文地址:https://www.cnblogs.com/jirglt/p/4210411.html
Copyright © 2011-2022 走看看