package cn.lonecloud.test;

import java.util.Date;
import java.util.Timer;
import java.util.TimerTask; /**
*
* @Title: Test02.java
* @Package cn.lonecloud.test
* @Description:
* @author lonecloud
* @date 2016年8月5日 下午4:43:29
*/
public class Test02 {
public static void main(String[] args) throws Exception{
timer3();
}
/**
* scheduleAtFixedRate
* 对于这个来说这里的时间是根据你的传入的时间来算
* 不管你是否线程休眠与否都要一开始执行
* @Description:
* @throws Exception
*/
public static void timer3() throws Exception{
Date date = new Date();
Timer timer = new Timer();
Thread.sleep(9000);
timer.scheduleAtFixedRate(new TimerTask() {
public void run() { System.out.println(new Date());
}
}, date, 1000);
}
/**
* 运行9秒后运行结果
* Fri Aug 05 16:46:41 CST 2016
Fri Aug 05 16:46:41 CST 2016
Fri Aug 05 16:46:41 CST 2016
Fri Aug 05 16:46:41 CST 2016
Fri Aug 05 16:46:41 CST 2016
Fri Aug 05 16:46:41 CST 2016
Fri Aug 05 16:46:41 CST 2016
Fri Aug 05 16:46:41 CST 2016
Fri Aug 05 16:46:41 CST 2016
Fri Aug 05 16:46:41 CST 2016
Fri Aug 05 16:46:42 CST 2016
Fri Aug 05 16:46:43 CST 2016
Fri Aug 05 16:46:44 CST 2016
Fri Aug 05 16:46:45 CST 2016 */
}
package cn.lonecloud.test;

import java.util.Date;
import java.util.Timer;
import java.util.TimerTask; public class Test01 {
public static void main(String[] args)throws Exception {
timer2();
}
/**
* schedule
* 线程休眠9s后执行
* @Description:
* @throws Exception
*/
public static void timer2() throws Exception {
Date date = new Date();
System.out.println(date);
Timer timer = new Timer();
Thread.sleep(9000);
timer.schedule(new TimerTask() {
public void run() {
System.out.println(new Date());
}
}, date, 1000);
}
/**
* 结果:
* Fri Aug 05 16:48:56 CST 2016
Fri Aug 05 16:49:05 CST 2016
Fri Aug 05 16:49:06 CST 2016
Fri Aug 05 16:49:07 CST 2016
Fri Aug 05 16:49:08 CST 2016
Fri Aug 05 16:49:09 CST 2016
Fri Aug 05 16:49:10 CST 2016
*/
}

java定时器schedule和scheduleAtFixedRate区别的更多相关文章

  1. schedule和scheduleAtFixedRate区别

    需求: 由于系统长期运作,各设备之间产生很多信息,一段时间后需要清除数据 考虑方案: 用schedule还是scheduleAtFixedRate,在此比较分析了下这两个的区别 schedule和sc ...

  2. schedule() 和 scheduleAtFixedRate() 区别

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

  3. 简单理解java中timer的schedule和scheduleAtFixedRate方法的区别

    timer的schedule和scheduleAtFixedRate方法一般情况下是没什么区别的,只在某个情况出现时会有区别--当前任务没有来得及完成下次任务又交到手上. 我们来举个例子: 暑假到了老 ...

  4. schedule() 和 scheduleAtFixedRate() 的区别--转载

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

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

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

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

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

  7. -1-5 java 多线程 概念 进程 线程区别联系 java创建线程方式 线程组 线程池概念 线程安全 同步 同步代码块 Lock锁 sleep()和wait()方法的区别 为什么wait(),notify(),notifyAll()等方法都定义在Object类中

     本文关键词: java 多线程 概念 进程 线程区别联系 java创建线程方式 线程组 线程池概念 线程安全 同步 同步代码块 Lock锁  sleep()和wait()方法的区别 为什么wait( ...

  8. Java定时器TimeTask

    package com.alan.timer; import java.util.Calendar;import java.util.Date;import java.util.Timer;impor ...

  9. java定时器和多线程实践记录

    这几天因为需要测试mongodb读写分离的问题,因此写了个定时查询程序,并且用到了多线程,以达到定时启动多个线程查询数据库的效果,下边代码记录备忘: package timmer; import ja ...

随机推荐

  1. python基础6之迭代器&生成器、json&pickle数据序列化

    内容概要: 一.生成器 二.迭代器 三.json&pickle数据序列化 一.生成器generator 在学习生成器之前我们先了解下列表生成式,现在生产一个这样的列表[0,2,4,6,8,10 ...

  2. c指针作为参数传递以及指针的指针

    指针作为函数参数传递 函数参数传递的只能是数值,所以当指针作为函数参数传递时,传递的是指针的值,而不是地址. #include "stdio.h" void pointer(int ...

  3. javascript 类数组对象

    原文:https://segmentfault.com/a/1190000000415572 定义: 拥有length属性,其他属性(索引)为非负整数(对象中的所有会被当做字符串来处理,这里你可以当做 ...

  4. Linux修改主机名脚本-不重启-支持RedHat、SUSE

    需要用脚本修改主机名,涉及RedHat.SUSE系统,并且要求修改立即生效且不重启,下面就是我的脚本. 使用脚本的方法如下: 1 首先创建一个脚本文件,假如命名为ModifyHostname.sh: ...

  5. linkin大话数据结构--Set

    Set 集合 Set 集合不允许包含相同的元素,如果试把两个相同的元素加入同一个 Set 集合中,则添加操作失败. Set 判断两个对象是否相同不是使用 == 运算符,而是根据 equals 方法.也 ...

  6. 基于Elasticsearch搜索平台设计

    背景 随着公司业务的高速发展以及数据爆炸式的增长,当前公司各产线都有关于搜索方面的需求,但是以前的搜索服务系统由于架构与业务上的设计,不能很好的满足各个业务线的期望,主要体现下面三个问题: 不能支持对 ...

  7. Python类的__getitem__和__setitem__特殊方法

    class testsetandget:    kk = {};      def __getitem__(self, key):          return self.kk[key];      ...

  8. sigmoid_cross_entropy_with_logits

    sigmoid_cross_entropy_with_logits 原创文章,请勿转载!!! 函数定义 def sigmoid_cross_entropy_with_logits(_sentinel= ...

  9. 安装phpredis-master步骤备忘

    下载软件包下载地址: http://pan.baidu.com/s/1i37R8TB 解包 tar -zxvf phpredis-master.tar.gz cd phpredis-master /o ...

  10. 不要用for循环去遍历LinkedList

    ArrayList与LinkedList的普通for循环遍历 对于大部分Java程序员朋友们来说,可能平时使用得最多的List就是ArrayList,对于ArrayList的遍历,一般用如下写法: p ...