`

JavaTimer使用疑惑

    博客分类:
  • java
阅读更多
  今天工作需要用到java的定时器,于是做了个例子,发现一个不是很明白的问题,不知道这是不是正常情况:
timer的几个schedule方法执行时,如果时间设为已过时间,几个方法中指定时间的也都会执行。尤其是指定时间重复执行的方法,指定时间已过,但还会执行。

例子代码如下:

package timer;

import java.util.Calendar;
import java.text.ParseException;
import java.util.Timer;
import java.util.Date;

public class TestTimer {

public static void testTimer()
{
Timer timer = new Timer();
Calendar c = Calendar.getInstance();
c.add(Calendar.MINUTE, -1);//将时间设为已过时间
Date date = c.getTime();
System.out.println(date.toLocaleString());

timer.schedule(new TestTimerTask("安排在指定的时间执行指定的任务11"), date);
timer.schedule(new TestTimerTask("安排在指定延迟后执行指定的任务22"), 60*1000l);

timer.schedule(new TestTimerTask("安排指定的任务在指定的时间开始进行重复的固定延迟执行33"), date, 60*1000l);
timer.schedule(new TestTimerTask("安排指定的任务从指定的延迟后开始进行重复的固定延迟执行44"), 60*1000l, 60*1000l);

timer.scheduleAtFixedRate(new TestTimerTask("安排指定的任务在指定的时间开始进行重复的固定速率执行55"), date, 120*1000l);
timer.scheduleAtFixedRate(new TestTimerTask("安排指定的任务在指定的延迟后开始进行重复的固定速率执行66"), 60*1000l, 120*1000l);
}
public static void main(String[] args)
{
testTimer();
}
}

package timer;

import java.util.TimerTask;

public class TestTimerTask extends TimerTask{

private String msg ;

public TestTimerTask(String msg)
{
this.msg = msg;
}
public void run()
{
System.out.println("--->>"+msg);
}
}

分享到:
评论

相关推荐

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

    Java Timer定时器详解 Java Timer定时器是Java语言中的一种常用的定时器机制,它可以帮助开发者实现一些需要在特定时间或...通过使用java.util.Timer和java.util.TimerTask两个类,开发者可以轻松地实现定时器的功能。

    java5定时器java Timer

    这个类是Java早期版本中对定时任务管理的一个重要实现,尽管在Java 5之后,`java.util.concurrent`包中的`ScheduledExecutorService`被推荐使用,但`Timer`仍然在很多场景下被广泛采用。 `Timer`类主要有两个核心...

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

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

    JAVA定时器之Timer+TimerTask

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

    java关于 Timer计时器的练习

    有个简单的java 的例子描述对java的Timer的使用的介绍,与实现的例子,方便大家学习

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

    在Java编程语言中,`Timer`类和Spring框架的定时任务是两种常见的实现定时执行任务的方式。本篇文章将深入探讨这两个主题,旨在帮助初学者理解它们的工作原理以及如何在实际项目中应用。 首先,让我们来看一下Java...

    Timer-java.rar_java timer_timer_timer java

    下面我们将深入探讨`Timer`类及其在Java中的使用: 1. **`Timer`类的基本使用**: `Timer`类主要通过两个方法来调度任务:`schedule(TimerTask task, long delay)`和`schedule(TimerTask task, Date firstTime, ...

    JavaTimer和TimerTask实例教程Java开发

    在Java编程语言中,`Timer`和`TimerTask`是两个重要的类,它们用于调度周期性的任务执行。这两个类属于`java.util`包,提供了在后台线程中延迟执行任务或者定期执行任务的能力,这对于创建定时任务或者实现定时器...

    Java Timer:schedule和scheduleAtFixedRate

    在Java编程语言中,`java.util.Timer` 类是用于调度任务执行的重要工具。它允许我们按照预定的时间间隔安排任务的执行,或者在特定的未来时间点执行一次或多次任务。本篇文章将深入探讨 `Timer` 类的两个核心方法:`...

    Java--Timer--TimerTask--.rar_java timer

    在Java编程语言中,`Timer`和`TimerTask`是两个关键类,它们用于调度周期性的任务执行。这两个类在多线程环境下尤其有用,能够帮助开发者安排在将来某一特定时间或定期执行的任务。让我们深入了解一下`Timer`和`...

    Timer java定时器

    Timer java定时器

    java_Timer_thread.rar_java thread timer_java timer_java 定时器_java

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

    Java计时器Timer 使用.doc

    Timer 类在 Java 中是用于调度任务的工具,它允许程序员安排任务在未来某个时间点或者按照一定的周期执行。这个类位于 `java.util` 包下,与之配合使用的还有一个名为 `TimerTask` 的抽象类,它是所有计划任务的基础...

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

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

    java定时任务调度之Timer 简单示例

    在本文中,我们将深入探讨`Timer`类的基本使用和示例,帮助你理解如何在Java程序中实现简单的定时任务。 首先,`Timer`类提供了计划任务的能力,它可以按照预定的时间间隔安排任务执行。创建一个`Timer`对象后,你...

    java中timer用法

    不过,标准的调度类 Timer 和 TimerTask 没有足够的灵活性,无法支持通常需要的计划任务类型。在本文中,Java 开发人员 Tom White 向您展示了如何构建一个简单通用的计划框架,以用于执行任意复杂的计划任务。

    Java里timer执行定时任务

    在这种情况下,可以使用Servlet容器提供的定时任务机制来代替标准的 `java.util.Timer` 类。通常做法是在 Servlet 的 `init()` 方法中安排定时任务,这样可以确保任务与 Web 应用程序的生命周期同步。 例如,可以在...

    java Timer 定时每天凌晨1点执行任务

    5. Java中实现定时任务的其他方式:除了使用Timer类外,我们还可以使用其他方式来实现定时任务,如使用Quartz Scheduler、ScheduledExecutorService等。这些方式都可以帮助我们实现定时任务的执行,但它们的使用方式...

    详解JAVA Timer和TimerTask

    "详解JAVA Timer和TimerTask" JAVA Timer和TimerTask是JAVA语言中两种重要的线程设施,用于实现定时执行任务。下面将详细介绍JAVA Timer和TimerTask的概念、用法和优点。 JAVA Timer JAVA Timer是一种线程设施,...

    java定时器timer制作

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

Global site tag (gtag.js) - Google Analytics