java之Timer
一、Java2的开发包中提供了一种很好使用的线程功能:你可以使用这些类创建后台进程,让其在等待一段规定的时间后执行,或者让其每隔一段时间执行。你也可以用Thread来完成,但利用Timer与TimerTask显然省事不少。
  TimerTask实现了Runnable接口,待执行的任务置于run()中。Timer是一个安排TimerTask的类此此两者一般一起工作。所应用时首先硬创建一个TimerTask的对象,然后用一个Timer的类对象安排执行它
二、例子
package com.bmkit.util.date; import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask; /**
* Created by root on 16-5-23.
*/
public class TestTimer { public static void main(String[] arg) {
Timer timer = new Timer(); /**
* public void scheduleAtFixedRate(TimerTask task,long delay,long period)
* public void schedule(TimerTask task,long delay,long period)
* 任务进行重复的固定速率period执行,在指定的延迟delay后开始。
*/
timer.scheduleAtFixedRate(new Case(), 1000, 2000);
timer.schedule(new Case(), 1000, 2000); /**
* public void scheduleAtFixedRate(TimerTask task,Date firstTime,long period)
* public void schedule(TimerTask task,Date firstTime,long period)
* 任务进行重复的固定速率period执行,从firstTime后开始。
*/
String sDate = "2016-05-23 16:40:32";
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
timer.scheduleAtFixedRate(new Case(), dateFormat.parse(sDate), 1000);
} catch (ParseException e) {
e.printStackTrace();
} /**
* public void schedule(TimerTask task,Date time)
* task被安排在time指定的时间time执行。
*/
String sDate1 = "2016-05-23 16:40:32";
SimpleDateFormat dateFormat1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
timer.schedule(new Case(), dateFormat1.parse(sDate1));
} catch (ParseException e) {
e.printStackTrace();
} /**
* public void cancel()
*终止Timer的功能执行,但不会对正在执行的任务有影响。当执行cancel方法后将不能再用其分配任务。
*/
timer.cancel(); } } /**
* 必须继承TimerTask
*/
class Case extends TimerTask { @Override
public void run() {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(dateFormat.format(new Date()));
}
}
java之Timer的更多相关文章
- 使用Java的Timer处理周期性任务
		package timer; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; ... 
- Java中Timer的用法
		现在项目中用到需要定时去检查文件是否更新的功能.timer正好用于此处. 用法很简单,new一个timer,然后写一个timertask的子类即可. 代码如下: package comz.autoup ... 
- Java计时器Timer和TimerTask用法
		package com.sy.game.test; import java.util.Timer; import java.util.TimerTask; public class TimeTask ... 
- Java定时任务Timer、TimerTask与ScheduledThreadPoolExecutor详解
		定时任务就是在指定时间执行程序,或周期性执行计划任务.Java中实现定时任务的方法有很多,本文从从JDK自带的一些方法来实现定时任务的需求. 一.Timer和TimerTask Timer和Tim ... 
- Java 中Timer和TimerTask 定时器和定时任务使用的例子
		转自:http://blog.csdn.net/kalision/article/details/7692796 这两个类使用起来非常方便,可以完成我们对定时器的绝大多数需求 Timer类是用来执行任 ... 
- 使用java.util.Timer来周期性的执行制定的任务
		使用java.util.Timer来周期性的执行制定的任务 public class HandlerTest extends Activity { int[] images = new int[] { ... 
- Java中Timer的用法--转载之网络
		用法很简单,new一个timer,然后写一个timertask的子类即可. import java.util.Timer; import java.util.TimerTask; public cla ... 
- 定时任务:Java中Timer和TimerTask的使用
		java.util.Timer定时器,实际上是个线程,定时调度所拥有的TimerTasks. 一个TimerTask实际上就是一个拥有run方法的类,需要定时执行的代码放到run方法体内,TimerT ... 
- Java中Timer和TimerTask的使用
		转自:http://www.cdtarena.com/javapx/201306/8893.html java.util.Timer定时器,实际上是个线程,定时调度所拥有的TimerTasks. 一个 ... 
随机推荐
- UOJ#246. 【UER #7】套路
			题目传送门 官方题解传送门 一句话题意的话就是给定一个序列,从中找出至少$k$个连续的元素形成子序列,使得子序列中任意两个元素差值的最小值于其长度-1的乘积最大. 题目中给出了$ 1 \leq a_i ... 
- Yocto开发笔记之《应用程序架构》(QQ交流群:519230208)
			QQ群:519230208,为避免广告骚扰,申请时请注明 “开发者” 字样 ======================================================== Eclip ... 
- Python实现打印二叉树某一层的所有节点
			不多说,直接贴程序,如下所示 # -*- coding: utf-8 -*- # 定义二叉树节点类 class TreeNode(object): def __init__(self,data=0,l ... 
- String类中的一些函数使用方法
			最常用的就是Length()函数了,求字符串的长度 String s="";int i=s.length();i结果为0. 如果是String s=null;int i=s.len ... 
- FCC上的初级算法题
			核心提示:FCC的算法题一共16道.跟之前简单到令人发指的基础题目相比,难度是上了一个台阶.主要涉及初步的字符串,数组等运算.仍然属于基础的基础,官方网站给出的建议完成时间为50小时,超出了之前所有非 ... 
- Envelope Letter
			http://www.thefullwiki.org/More_C%2B%2B_Idioms/Envelope_Letter http://www.smallmemory.com/almanac/Co ... 
- winform的扩展的带有截图功能picturebox
			using System; using System.ComponentModel; using System.Diagnostics; using System.Drawing; using Sys ... 
- ReSharper 配置及用法(转)
			1:安装后,Resharper会用他自己的英文智能提示,替换掉 vs2010的智能提示,所以我们要换回到vs2010的智能提示 2:快捷键.是使用vs2010的快捷键还是使用 Resharper的快捷 ... 
- JavaScript中变量和函数声明的提升
			现象: 1.在JavaScript中变量和函数的声明会提升到最顶部执行. 2.函数的提升高于变量的提升. 3.函数内部如果用var声明了相同名称的外部变量,函数将不再向上寻找. 4.匿名函数不会提升. ... 
- C# 获取进程或线程的相关信息
			信息来自: http://blog.163.com/kunkun0921@126/blog/static/169204332201293023432113/ using System; using S ... 
