java之Timer
2016-05-23 16:42
555 查看
一、Java2的开发包中提供了一种很好使用的线程功能:你可以使用这些类创建后台进程,让其在等待一段规定的时间后执行,或者让其每隔一段时间执行。你也可以用Thread来完成,但利用Timer与TimerTask显然省事不少。
TimerTask实现了Runnable接口,待执行的任务置于run()中。Timer是一个安排TimerTask的类此此两者一般一起工作。所应用时首先硬创建一个TimerTask的对象,然后用一个Timer的类对象安排执行它
二、例子
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 UDP
- Java实现lucene搜索功能
- 阿里云服务器Ubuntu安装jdk7
- java I/O流的理解
- Spring MVC 配置详解
- java应用测试报告生成(一): sonarqube配合Jenkins生成测试报告及覆盖率
- AbstractIdleService服务类用法
- Java设计模式之单例模式
- Spring MVC 的请求参数获取的几种方法
- springmvc入门教程
- java面向对象基础 -- 重写父类方法的规则
- Java线程并发中常见的锁
- Spring Cache 自定义注解
- java基于poi模板excel导出
- 认识JAVA数组
- Java虚拟机4:内存溢出
- Java虚拟机3:常用JVM命令参数
- spring从头开始(五)---spring web开发
- java二叉排序树
- Java虚拟机2:Java内存区域及对象