`

java定时器的使用

阅读更多
有时需要在一定时间段后,执行某一个操作

java中现有的Timer与TimerTask类

      我们在实际使用中可能出现定时run一个程序或者重复的run,这种情况下,就可以使用Timer与TimerTask

       Timer和TimerTask这两个类。在java.util这个包中可以找到这两个类。Timer直接从Object继承,它相当于一个计时器,能够用它来指定某个时间来执行一项任务,或者每隔一定时间间隔反复执行同一个任务。创建一个Timer后,就会生成一个线程在背后运行,来控制任务的执行。而TimerTask就是用来实现某项任务的类,它实现了Runnable接口,因此相当于一个线程。更多相关的知识请参见JDK文档。

     Timer的schedule方法主要有如下几种重载形式:
--schedule(TimerTask task,long delay)  指定隔多长时间(delay)后执行TimerTask类中的任务代码
--schedule(TimerTask task,Date time)  指定在什么时候(date)开始执行TimerTask类中的任务代码
--schedule(TimerTask task,long delay ,long period) 指定隔多长时间(delay)后定期执行TimerTask类中的任务代码,period指定了定期的时间间隔
--schedule(TimerTask task, Date firstTime , long period) 指定在什么时候(date)开始定期执行TimerTask类中的任务代码,period指定了定期的时间间隔

TimerTask类实现了Runnable接口,要执行的任务由它里面实现的run方法来完成。

1,要完成的任务
import java.util.Timer;
import java.util.TimerTask;
import java.util.Date;

class println{
 public void printlntime(){
  System.out.println(new Date());
 }
}

2,将要完成的任务写入Timetask线程主体里
class TimerTasktask extends TimerTask{

 @Override
 public void run() {
  // TODO Auto-generated method stub
  System.out.println("start");
  println a=new println();
  a.printlntime();
 }
}


调用java.util.Timer
public class TimerTaskTest {
 public static void main(String[] args){
  Timer timer = new Timer();
  timer.schedule(new TimerTasktask(), 1000, 2000);
  try{
   Thread.sleep(1000);
  }catch(Exception ex){
   timer.cancel();
  } 
 }
}


例2
import java.util.*;

public class TimeTest extends TimerTask {
    String index;
    Timer myTimer = new Timer();
    public TimeTest(String index) {
        this.index = index;
    }

    public void run() {
        System.out.println(index);
    }

    public static void main(String args[]) {
     TimeTest myTask1 = new TimeTest("First task");
        myTask1.start(0,3);
        TimeTest myTask2 = new TimeTest("Second task");
        myTask2.start(0,1);

        try{
            Thread.sleep(6000);
        }
        catch(InterruptedException e){            
        }   
        
        myTask1.end();
        myTask2.end();//程序结束时用cancel()结束Timer
        
    }

    public void start(int delay, int internal) {
        myTimer.schedule(this, delay * 1000, internal * 1000); //利用timer.schedule方法
    }
    public void end(){
        myTimer.cancel();
    }
}

运行结果为:

First task
Second task
Second task
Second task
First task
Second task
Second task
Second task

例2的一个Timer对应多个TimerTask,多个TimeTask可以都停也可停其中的几个
分享到:
评论

相关推荐

    JAVA中定时器的使用

    JAVA中定时器的使用 JAVA 中的定时器是指在特定的时间或时间间隔执行某个任务的机制。JAVA 中提供了多种方式来实现定时器,包括使用 Timer 和 TimerTask 类,使用 ScheduledExecutorService 等。 在 JAVA 中,...

    java定时器使用汇总.pdf

    Java定时器(Timer)是Java.util包中的一个类,它提供了调度任务的能力,可以在未来的某个时间点或定期执行任务。这个功能在很多场景下都非常有用,例如数据同步、监控、清理过期数据等。在Web应用中,定时器通常会...

    Java定时器的使用 Java程序

    本篇文章将深入探讨Java定时器的使用方法和关键概念。 ### 1. Java定时器类介绍 Java定时器类`Timer`和`TimerTask`是配合使用的。`Timer`用于创建定时器实例并调度任务,而`TimerTask`则是一个抽象类,用于定义要...

    JAVA定时器JAVA定时器.pdf

    在使用JAVA定时器时,需要注意以下几点: * 在中不能够设置default-lazy-init="true",否则定时任务不触发。 * 在中不能够设置default-autowire="byName"的属性,否则后台会报org.springframework.beans.factory....

    Java定时器

    Java定时器是Java编程语言中用于执行特定任务的调度工具,它允许程序员在指定的时间间隔后执行特定的代码块或任务。在Java中,我们主要使用`java.util.Timer`类和`java.util.TimerTask`类来实现定时器功能。这两个类...

    java的定时器使用方法.txt

    ### Java定时器使用详解 #### 一、定时器(Timer)概述 在Java语言中,`Timer`类位于`java.util`包内,主要用于管理基于时间的事件。它能够安排某些任务在未来某个时间点或者按照一定的周期性重复执行。为了使用`...

    java 定时器(Timer)

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

    java定时器

    java定时器,import java.util.Calendar; import java.util.Date; import java.util.Timer; import java.util.TimerTask; 规定每天几点执行一次

    java定时器设置及停止的方法

    在Java编程中,定时任务是不可或缺的一部分,它们用于执行周期性操作,如数据备份、监控、清理等。本文将深入探讨如何在Java中设置和停止定时任务,主要关注`java.util.Timer`和`java.util.TimerTask`,以及更现代的...

    java 定时器 spring 定时器

    Java定时器和Spring定时器是Java开发中用于执行周期性任务的重要工具,它们在系统维护、数据同步、报告生成等场景中发挥着关键作用。本文将深入探讨这两个概念,以及如何在Spring框架中配置和使用定时器。 首先,...

    Java定时器框架(Quartz)

    Java定时器框架Quartz是Java开发中用于任务调度的一个强大工具,它允许开发者精确地控制任务的执行时间,包括一次性任务和周期性任务。Quartz以其灵活性和稳定性,在企业级应用中广泛使用,尤其在需要定期执行后台...

    java定时器服务!!

    Java定时器服务是Java平台中用于执行定时任务的关键组件,它允许开发者安排未来或定期的任务执行。在Java中,我们通常使用`java.util.Timer`类和`java.util.TimerTask`类来实现定时服务。这两个类提供了创建、调度和...

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

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

    JAVA定时器JAVA定时器

    JAVA定时器,只要服务开启,就能指定某些代码在某个时刻执行,例如:监狱里罪犯的余刑天数,每天都要减少,就可以设置一个定时器在每天的23:59:59来执行减少余刑天数的天。

    简单易用的java定时器scheduler,有完整配置说明

    在使用Java定时器时,我们需要注意以下几点: 1. **线程安全**:如果定时任务涉及到共享资源,确保任务代码是线程安全的,避免并发问题。 2. **异常处理**:定时任务可能会抛出异常,需要正确捕获并处理,防止任务...

    java定时器.rar

    这个“java定时器.rar”压缩包可能包含了关于如何使用Java定时器的相关示例代码和教程。 Java定时器类库主要由两个核心类组成:`Timer`和`TimerTask`。`Timer`类是定时器本身,负责调度任务;而`TimerTask`是实现了...

    Java定时器简例

    ### Java定时器实现详解 在Java编程中,定时任务是常见的需求之一,无论是服务器的定期维护、数据同步,还是客户端的动画更新等场景,都需要用到定时器来精确控制任务的执行时间。本文将深入解析一个基于Java的简单...

Global site tag (gtag.js) - Google Analytics