`

java中Timer定时器的使用

    博客分类:
  • java
阅读更多

本博文只是简单介绍一下Timer的使用方法。适用于初学者进行参考,希望大家多多指点。废话不多说,直接上正题。

1、了解一下Timer类提供的方法

介绍几个常用的方法:

cancel() 终止此计时器,丢弃所有当前已安排的任务。

schedule(TimerTask task, long delay, long period) 安排指定的任务从指定的延迟后开始进行重复的固定延迟执行。

schedule(TimerTask task, long delay) 安排在指定延迟后执行指定的任务。(这个只执行一次,延时执行后,不再执行)

scheduleAtFixedRate(TimerTask task, long delay, long period) 安排指定的任务在指定的延迟后开始进行重复的固定速率执行

2、Timer示例

本示例使用的是jdk1.6.

首先我编写了一个定时任务的工具类,提供了开始定时任务和取消定时任务。

package com.bao.timerUtil;

import java.util.Timer;
import java.util.TimerTask;

/**
 * 定时任务工具类
 * @author lanJ
 *
 */
public class TimerUtil {
	//定时执行时间
	private static long TIME = 1000*6;
	private Timer timer = null; //定时类

	/**
	 * 启动定时任务
	 * @param timerTask
	 */
	public void startTimer(TimerTask timerTask) {
		if(timer == null) {
			timer = new Timer();
		}
		timer.schedule(timerTask, TIME, TIME);
	}
	
	/**
	 * 延时20秒启动定时任务
	 * @param timerTask
	 */
	public void startAtFixedTimer(TimerTask timerTask) {
		if(timer == null) {
			timer = new Timer();
		}
		timer.scheduleAtFixedRate(timerTask,1000*20,TIME);
	}
	
	/**
	 * 停止定时任务
	 */
	public void stopTimer() {
		timer.cancel();
	}
}

 然后,编写一个自己的任务类。

package com.bao.timerTask;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.TimerTask;

/**
 * 我的任务 说明:定时任务需要集成java.util.TimerTask类,并且重写run方法. 把你想要在定时任务中所做的事写在run方法中.
 * @author lanJ
 * 
 */
public class MyTask extends TimerTask {
	
	private String name;

	public MyTask(String name) {
		this.name = name;
	}

	@Override
	public void run() {
		System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()) + " Hello," + this.name);
	}

}

 最后,有个测试类。

package com.bao.main;

import com.bao.timerTask.MyTask;
import com.bao.timerUtil.TimerUtil;

public class TestMain {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		TimerUtil timerUtil = new TimerUtil();
		timerUtil.startTimer(new MyTask("lanJ"));
		timerUtil.startAtFixedTimer(new MyTask("bao"));
	}
}

 运行结果:

2012-09-10 10:01:24 Hello,lanJ
2012-09-10 10:01:30 Hello,lanJ
2012-09-10 10:01:36 Hello,lanJ
2012-09-10 10:01:38 Hello,bao
2012-09-10 10:01:42 Hello,lanJ
2012-09-10 10:01:44 Hello,bao
2012-09-10 10:01:48 Hello,lanJ
2012-09-10 10:01:50 Hello,bao
2012-09-10 10:01:54 Hello,lanJ
 2012-09-10 10:01:56 Hello,bao

通过结果可以看出bao这个定时任务是延时了20秒才执行的。

分享到:
评论

相关推荐

    java_Timer定时器实例_Spring实例

    标题与描述均提到了“Java_Timer定时器实例_Spring实例”,这表明文章主要讨论的是如何在Java中使用Timer类创建定时任务,并将其整合到Spring框架中。以下是对该主题的详细解析: ### Java中的Timer定时器 #### ...

    java timer定时器详解(附详细代码)

    Java Timer定时器是Java语言中的一种常用的定时器机制,它可以帮助开发者实现一些需要在特定时间或特定间隔执行的任务。Java Timer定时器主要是通过java.util.Timer和java.util.TimerTask两个类来实现的。 Java....

    Timer定时器的使用方法

    【Timer定时器的使用方法】 在Java编程语言中,`java.util.Timer` 和 `java.util.TimerTask` 类是用于执行定期或延时任务的核心组件。它们允许开发者在指定的时间间隔内执行特定的操作,这对于实现定时任务,如定时...

    java定时器(timer类使用详解)

    Java定时器,也被称为`Timer`类,是Java标准库中的一个强大工具,它允许开发者在指定的时间间隔执行任务,从而实现定时操作。这个类在`java.util`包中定义,是实现定时任务调度的核心。在本文中,我们将深入探讨`...

    小码农的代码(四)----------JAVA中Timer定时器与Spring定时任务

    `java.util.Timer`和`TimerTask`是Java标准库提供的基础定时器组件。`Timer`类允许我们创建一个计划任务,这些任务会在指定的延迟后或者定期执行。`TimerTask`是实际的任务实体,它继承自`Runnable`接口,你需要覆盖...

    JAVA中定时器的使用

    JAVA 中提供了多种方式来实现定时器,包括使用 Timer 和 TimerTask 类,使用 ScheduledExecutorService 等。 在 JAVA 中,Timer 和 TimerTask 是两个基本的类,用于实现定时器。Timer 类用于创建一个新的定时器,而...

    java 定时器(Timer)

    Java定时器(Timer)是Java Swing库中的一个类,它提供了调度任务在未来某个时间执行的能力。这个类主要用于在GUI应用程序中实现定时触发某些操作,比如更新界面、执行动画或者执行周期性的后台任务。Timer类结合了...

    timer定时器(java)

    ### Timer定时器(Java) #### 知识点概述 在Java中,`Timer`类是`java.util`包的一部分,用于调度线程执行任务。它主要用于处理那些需要定期执行的任务,比如更新用户界面、发送电子邮件通知等场景。通过`Timer`...

    Java定时器Timer简述.pdf

    需要注意的是,在实际开发中使用Java Timer时应当小心处理可能出现的异常,例如在解析日期时就可能会遇到ParseException。在多线程环境下,Timer类也是线程安全的,可以由多个线程共享一个Timer实例而不必担心线程...

    java Timer定时器实例 Spring实例.doc

    【Java Timer定时器】 在Java中,`java.util.Timer` 类是用于调度任务的类,它可以在特定的时间点或者按照设定的周期执行某项任务。`Timer` 类提供了两种计划任务的方法:`schedule(TimerTask task, long delay)` ...

    java_Timer_thread.rar_java thread timer_java timer_java 定时器_java

    Java中的定时器(Timer)是Java.util包下用于执行定期任务的一个类,它与线程(Thread)紧密关联,能够帮助开发者实现定时执行特定任务的需求。这个机制在多线程编程(multithreading)中非常有用,特别是在需要定期...

    java定时器timer制作

    Java中定时器(Timer)主要用于执行周期性的任务。通过`java.util.Timer`类,可以创建一个定时器对象,该对象负责调度事件。定时器可以用来执行两种类型的定时任务:一次性任务和周期性任务。 #### 一次性任务 一次...

    JavaTimer定时器

    一个很简单的java定时器,很适合初学者呢,希望能够给你一点的提示哦

    JAVA定时器之Timer+TimerTask

    在Java编程语言中,`Timer`和`TimerTask`是两个关键类,它们构成了Java的定时执行机制。这两个类在处理周期性任务或者延迟任务时非常有用,它们可以帮助开发者实现程序在特定时间点或者按照一定间隔执行特定操作的...

    java定时器Timer

    总结来说,Java定时器`Timer`是一个实用的工具,可以方便地实现定时任务调度,但在高并发场景下,由于其单线程模型,可能需要考虑使用更高级的并发工具,如`ScheduledExecutorService`。在实际开发中,理解其工作...

    java5定时器java Timer

    通过阅读`TimerTest1.java`和`TimerTest2.java`的代码,你可以进一步了解如何在实际项目中使用`Timer`和`TimerTask`来实现特定的定时任务需求。这两个测试类可能包含了创建`Timer`实例、创建`TimerTask`实例以及调度...

    Timer定时器的应用

    【Timer定时器的应用】 在计算机编程中,`Timer` 是一个非常重要的概念,尤其是在图形用户界面(GUI)和实时系统中。它允许程序在特定时间间隔执行某项操作,为软件添加了计时和自动化功能。`Timer` 定时器在Java、...

    Spring使用timer定时器-能精确几点运行定时任务

    本教程将详细介绍如何在Spring中使用`Timer`来实现能精确到几点运行的定时任务。 首先,我们需要理解`Timer`的基本概念。`java.util.Timer`和`java.util.TimerTask`是Java中的两个类,用于调度未来任务的执行。`...

Global site tag (gtag.js) - Google Analytics