1.  schedule() ,2个参数方法:
在执行任务时,如果指定的计划执行时间scheduledExecutionTime <= systemCurrentTime,则task会被立即执行。

2.  schedule() ,3个参数方法:
在执行任务时,如果指定的计划执行时间scheduledExecutionTime <= systemCurrentTime,则task会被立即执行,之后按period参数固定重复执行。

3.  scheduleAtFixedRate() ,3个参数方法:
在执行任务时,如果指定的计划执行时间scheduledExecutionTime<= systemCurrentTime,则task会首先按执行一次;然后按照执行时间、系统当前时间和period参数计算出过期该执行的次数,计算按照: (systemCurrentTime-scheduledExecutionTime)/period,再次执行计算出的次数;最后按period参数固定重复执行。

4.  schedule() 和scheduleAtFixedRate() 
schedule()方法更注重保持间隔时间的稳定。
scheduleAtFixedRate()方法更注重保持执行频率的稳定。

package com.task;import java.util.Date;
import java.util.Timer;public class TestTask {/*** @param args*/public static void main(String[] args){Date crtTime = new Date();long crt = crtTime.getTime();Timer timer = new Timer();// 在指定时间执行CommonTask task1 = new CommonTask("【任务一】"); timer.schedule(task1, new Date(crt - 1000));// schedule和scheduleAtFixedRate CommonTask task11 = new CommonTask("【任务二】"); timer.schedule(task11, new Date(crt - 10 * 1000),1000);CommonTask task12 = new CommonTask("【任务三】"); timer.schedule(task12, new Date(crt - 10 * 1000),1000);// schedule和scheduleAtFixedRate CommonTask task13 = new CommonTask("【任务四】"); timer.schedule(task13, new Date(crt + 2 * 1000),1000);CommonTask task14 = new CommonTask("【任务五】"); timer.scheduleAtFixedRate(task14, new Date(crt + 2 * 1000),1000);}}

原文地址:http://blog.163.com/nice_2012/blog/static/192666148201231635332934/

转载于:https://www.cnblogs.com/davidwang456/p/4290732.html

schedule() 和 scheduleAtFixedRate() 的区别--转载相关推荐

  1. Java定时任务之--schedule与scheduleAtFixedRate异同

    相同点: 任务执行未超时,下次执行时间 = 上次执行开始时间 + period:任务执行超时,下次执行时间 = 上次执行结束时间:在任务执行未超时时,它们都是上次执行时间加上间隔时间,来执行下一次任务 ...

  2. Timer的schedule和scheduleAtFixedRate方法的区别解析(转)

    在java中,Timer类主要用于定时性.周期性任务 的触发,这个类中有两个方法比较难理解,那就是schedule和scheduleAtFixedRate方法,在这里就用实例分析一下 (1)sched ...

  3. Timer的schedule和scheduleAtFixedRate方法的区别解析

    在java中,Timer类主要用于 定时性.周期性任务的触发,这个类中有两个方法比较难理解,那就是schedule和scheduleAtFixedRate方法,在这里就用实例分析一下 (1)sched ...

  4. Timer的schedule和scheduleAtFixedRate区别

    Timer的schedule和scheduleAtFixedRate个人理解. schedule的下次开始时间是根据结束时间来看的,你设置一个间隔2秒的任务,但是每个任务需要执行的时间需要5秒,他会判 ...

  5. java中timer类包_Java~util包中Timer的使用, 演示cancel方法 和 对比schedule和scheduleAtFixedRate方法...

    Timer Timer类的主要作用就是设置计划任务,但封装任务的类却是TimerTask类 执行计划任务的代码要放人TimerTask的子类中,因为TimerTask是一个抽象类.而且要重写其run方 ...

  6. schedule与scheduleAtFixedRate比较

    schedule与scheduleAtFixedRate: 不延时: schedule(TimerTask, Date runDate, long period)方法任务不延时----Date类型 1 ...

  7. .NET 的 WCF 和 WebService 有什么区别?(转载)

    .NET 的 WCF 和 WebService 有什么区别?(转载) [0]问题: WCF与 Web Service的区别是什么? 和ASP.NET Web Service有什么关系? WCF与ASP ...

  8. postfix中recipient/client/sender/helo四者的区别转载

    postfix在main.cf中用下面四个做限制,那么这四者到底有什么区别? smtpd_recipient_restrictions smtpd_client_restrictions smtpd_ ...

  9. schedule vs scheduleAtFixedRate

    最好的方法是在两者之间区分 timer灵感时间设定过去时间T,scheduleAtFixedRate将从T现在所有的任务中运行,schedule而该任务将只运行从现在开始计时. public clas ...

最新文章

  1. python cookbook pdf下载-Python Cookbook 第3版 中文版.pdf
  2. 文件操作函数(读写)
  3. HTML基础知识点(1)
  4. 安川机器人位置变量要素_安川机器人变量分配(维修)
  5. Tiled编辑器不能打开.tmx文件的问题
  6. 如何做好一个流量站?
  7. QTableView 常用功能总结
  8. 《时代》评出50个最酷网站
  9. Java中PDF转WORD
  10. ubuntu 自带录屏功能
  11. 蚂蚁金服上市,程序员流下了激动的眼泪
  12. TCP/IP协议漏洞实验
  13. 开篇-开启全新的.NET现代应用开发体验
  14. 《研发企业管理——思想、方法、流程和工具》——第1章 企业管理基本理念 1.1 企业的根本目标及其内涵...
  15. c++ opencv 保存视频数据
  16. 选择计算机配件用户需求,买电脑都需要看什么?对电脑不太懂,配置什么的…...
  17. 政务服务一网通办建设方案(ppt)
  18. CHIL-SQL-快速参考
  19. 将网页内容截屏的好工具
  20. 世界上最难的视觉图_【若寒专栏】被喻为世界上最难的联赛——2019赛季日本J2联赛球队总结(7 完结)...

热门文章

  1. 违反了primarykey约束怎么解决_前期物业服务合同对主业有约束力吗?
  2. 数值分析 pdf_统计分析前,要做哪些数据准备工作?
  3. c 串转string_c++ 中 char 与 string 之间的相互转换问题
  4. java jframe 运行_java – 使用JProgressBar运行JFrame
  5. wps 模拟分析 规划求解_Excel数据分析两大利器,趋势预测与规划求解
  6. pandas中如何选取某几列_pandas 选取行和列数据的方法
  7. ios android 内存不足,怎样解决手机内存不足?iOS系统可以试试这些方法
  8. exit(0)什么意思php,php – 文件中的exit(1)导致脚本状态码为0
  9. mysql  基本操作(二)
  10. tf.split()