JAVA中的定时调度(Timer和TimerTask)

某些时候我们需要定时去完成一些任务,这里举一个例子:我们需要在3秒钟后打印当前系统时间,此后每隔5秒重复此操作。代码如下:

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

class ShowDateTask extends TimerTask
{
    public void run()
    {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-DD HH:mm:ss:SSS");
        System.out.println("当前时间是:" + sdf.format(new Date()));
    }
}

class Hello
{
    public static void main(String[] args)
    {
          ShowDateTask sdt = new ShowDateTask();
          Timer t = new Timer();
          t.schedule(sdt,3000,5000);
    }

    public static void sleep(int timeSpan)
    {
        try
        {
            Thread.sleep(timeSpan);
        }
        catch (Exception e)
        {
            System.out.println(e);
        }
    }
}
时间: 2025-01-10 23:44:18

JAVA中的定时调度(Timer和TimerTask)的相关文章

Java中的定时调度

Timer类是一个线程设施,用于实现在某个时间或者某一段时间后安排某个任务执行一次或者定期重复执行.需要与TimerTask配合使用. TimerTask类用来实现由Timer安排的一次或重复执行的某次任务.是一个抽象类,子类必须覆写其中的run()方法,它引入接口Runnable得到的方法. 每个Timer对象对应一个线程. import java.text.SimpleDateFormat; import java.util.Date; import java.util.TimerTask;

java 多线程——quartz 定时调度的例子

java 多线程 目录: Java 多线程——基础知识 Java 多线程 —— synchronized关键字 java 多线程——一个定时调度的例子 java 多线程——quartz 定时调度的例子 java 多线程—— 线程等待与唤醒 概述 第1部分 配置 第2部分 代码示例 第1部分 配置 有关quartz的api文档地址:Quartz Enterprise Job Scheduler 1.8.6 API 主要接口目录: 重点看下Job,Scheduler,Trigger,JobDetai

java 多线程——一个定时调度的例子

java 多线程目录: Java 多线程——基础知识 Java 多线程 —— synchronized关键字 java 多线程——一个定时调度的例子 学习了一段时间的多线程内容,项目中有个定时调度的需求,将之前的需求重新梳理了下,写了一个多线程调用的例子,加深学习. 定时调度的需求如下:设定任务的开始时间,分为单次调度和循环调度,访问指定的url. java 多线程--一个定时调度的例子

Spring中的定时调度(Scheduling)和线程池(Thread Pooling)

简介 Spring包含了对定时调度服务的内置支持类.当前,Spring支持从JDK1.3开始内置的Timer类和Quartz Scheduler(http://www.opensymphony.com/quartz/).二者都可以通过FactoryBean,分别指向Timer或Trigger实例的引用进行配置.更进一步,有个对Quartz Scheduler和Timer都有效的工具类可以让你调用某个目标对象的方法(类似通常的MethodInvokingFactoryBean操作).Spring

java中实现定时功能

网上资料: 我们可以使用Timer和TimerTask类在java中实现定时任务,详细说明如下: 1.基础知识java.util.Timer一种线程设施,用于安排以后在后台线程中执行的任务.可安排任务执行一次,或者定期重复执行.此类是线程安全的:多个线程可以共享单个 Timer 对象而无需进行外部同步.java.util.TimerTask由 Timer 安排为一次执行或重复执行的任务. 2.示例代码该示例实现这样一个功能,在系统运行期间,每30分钟,系统自动检查连接池中的可用连接数,并输出到日

spring中的定时调度实现TimerFactoryBean引起的隐患

手中的一个老项目,其中使用的TimerFactoryBean实现的调度任务.一般都是spring quartz实现,这种的着实少见.正因为少见资料比较少,当初为了确认这个会不会2个调度任务同时并行执行,还特意看过源码,其中采用的jdk的Timer实现.也就是不会由于上一个任务没执行就启动下个任务的情况. 这个TimerFactoryBean通过引入ScheduledTimerTask来实现调度.大体的配置如下: <bean id="myTask" class="xx.x

spring 中配置定时调度两种方法介绍

方法一: 直接用jdk api的Timer类,无需配置spring文件 1.用@compent注解,实现InitializingBean接口 ,spirng会自动去查找afterPropertiesSet()方法, 2.在afterPropertiesSet方法中写业务实现,调用timer的schedule方法或者scheduleAtFixedRate方法 schedule(TimerTask task, Date time) 安排在指定的时间执行指定的任务. scheduleAtFixedRa

Java入门——定时调度

Java入门——定时调度 Timer类 Timer类是一种线程设施,可以用来实现在某一个时间或者某一段时间后安排某一个任务执行一次或者定时重复执行,该功能要与TimeTask配合使用. 每一个Timer对象对应的是一个线程,因此计时器所执行的任务应该迅速完成,否者可能会延迟后续任务的执行. 序号 方法 类型 描述 1 Timer() 构造 创建一个计时器,并且启动这个计时器 2 cancle() 普通 终止该计时器,并放弃所有已经安排的任务 3 purge() 普通 将已经取消的任务移除,一般用

Python3.x:简单时间调度Timer(间隔时间执行)

Python3.x:简单时间调度Timer(间隔时间执行) 代码: import threading import time def fun_timer(): print('hello timer') global timer #重复构造定时器 timer = threading.Timer(5.8,fun_timer) timer.start() #定时调度 timer = threading.Timer(2,fun_timer) timer.start() # 50秒后停止定时器 time.