java定时器schedule和scheduleAtFixedRate区别
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区别的更多相关文章
- schedule和scheduleAtFixedRate区别
需求: 由于系统长期运作,各设备之间产生很多信息,一段时间后需要清除数据 考虑方案: 用schedule还是scheduleAtFixedRate,在此比较分析了下这两个的区别 schedule和sc ...
- schedule() 和 scheduleAtFixedRate() 区别
1. schedule() ,2个参数方法:在执行任务时,如果指定的计划执行时间scheduledExecutionTime <= systemCurrentTime,则task会被立即执行. ...
- 简单理解java中timer的schedule和scheduleAtFixedRate方法的区别
timer的schedule和scheduleAtFixedRate方法一般情况下是没什么区别的,只在某个情况出现时会有区别--当前任务没有来得及完成下次任务又交到手上. 我们来举个例子: 暑假到了老 ...
- schedule() 和 scheduleAtFixedRate() 的区别--转载
1. schedule() ,2个参数方法:在执行任务时,如果指定的计划执行时间scheduledExecutionTime <= systemCurrentTime,则task会被立即执行. ...
- Timer的schedule和scheduleAtFixedRate方法的区别解析(转)
在java中,Timer类主要用于定时性.周期性任务 的触发,这个类中有两个方法比较难理解,那就是schedule和scheduleAtFixedRate方法,在这里就用实例分析一下 (1)sched ...
- Timer的schedule和scheduleAtFixedRate方法的区别解析
在java中,Timer类主要用于定时性.周期性任务 的触发,这个类中有两个方法比较难理解,那就是schedule和scheduleAtFixedRate方法,在这里就用实例分析一下 (1)sched ...
- -1-5 java 多线程 概念 进程 线程区别联系 java创建线程方式 线程组 线程池概念 线程安全 同步 同步代码块 Lock锁 sleep()和wait()方法的区别 为什么wait(),notify(),notifyAll()等方法都定义在Object类中
本文关键词: java 多线程 概念 进程 线程区别联系 java创建线程方式 线程组 线程池概念 线程安全 同步 同步代码块 Lock锁 sleep()和wait()方法的区别 为什么wait( ...
- Java定时器TimeTask
package com.alan.timer; import java.util.Calendar;import java.util.Date;import java.util.Timer;impor ...
- java定时器和多线程实践记录
这几天因为需要测试mongodb读写分离的问题,因此写了个定时查询程序,并且用到了多线程,以达到定时启动多个线程查询数据库的效果,下边代码记录备忘: package timmer; import ja ...
随机推荐
- python基础6之迭代器&生成器、json&pickle数据序列化
内容概要: 一.生成器 二.迭代器 三.json&pickle数据序列化 一.生成器generator 在学习生成器之前我们先了解下列表生成式,现在生产一个这样的列表[0,2,4,6,8,10 ...
- c指针作为参数传递以及指针的指针
指针作为函数参数传递 函数参数传递的只能是数值,所以当指针作为函数参数传递时,传递的是指针的值,而不是地址. #include "stdio.h" void pointer(int ...
- javascript 类数组对象
原文:https://segmentfault.com/a/1190000000415572 定义: 拥有length属性,其他属性(索引)为非负整数(对象中的所有会被当做字符串来处理,这里你可以当做 ...
- Linux修改主机名脚本-不重启-支持RedHat、SUSE
需要用脚本修改主机名,涉及RedHat.SUSE系统,并且要求修改立即生效且不重启,下面就是我的脚本. 使用脚本的方法如下: 1 首先创建一个脚本文件,假如命名为ModifyHostname.sh: ...
- linkin大话数据结构--Set
Set 集合 Set 集合不允许包含相同的元素,如果试把两个相同的元素加入同一个 Set 集合中,则添加操作失败. Set 判断两个对象是否相同不是使用 == 运算符,而是根据 equals 方法.也 ...
- 基于Elasticsearch搜索平台设计
背景 随着公司业务的高速发展以及数据爆炸式的增长,当前公司各产线都有关于搜索方面的需求,但是以前的搜索服务系统由于架构与业务上的设计,不能很好的满足各个业务线的期望,主要体现下面三个问题: 不能支持对 ...
- Python类的__getitem__和__setitem__特殊方法
class testsetandget: kk = {}; def __getitem__(self, key): return self.kk[key]; ...
- sigmoid_cross_entropy_with_logits
sigmoid_cross_entropy_with_logits 原创文章,请勿转载!!! 函数定义 def sigmoid_cross_entropy_with_logits(_sentinel= ...
- 安装phpredis-master步骤备忘
下载软件包下载地址: http://pan.baidu.com/s/1i37R8TB 解包 tar -zxvf phpredis-master.tar.gz cd phpredis-master /o ...
- 不要用for循环去遍历LinkedList
ArrayList与LinkedList的普通for循环遍历 对于大部分Java程序员朋友们来说,可能平时使用得最多的List就是ArrayList,对于ArrayList的遍历,一般用如下写法: p ...