package com.push; import java.util.Calendar; import java.util.Date; import java.util.Timer; import java.util.TimerTask; public class Test { public static void main(String[] args) { //一个定时器方法为一个线程,如果定时器方法执行多次则会生成多个线程 //timer1(); timer2(); //timer3(); //timer4(); } // 第一种方法:设定指定任务task在指定时间time执行 schedule(TimerTask task, Date time) public static void timer1() { Timer timer = new Timer(); timer.schedule(new TimerTask() { public void run() { System.out.println("-------设定要指定任务--------"); } }, 2000);// 设定指定的时间time,此处为2000毫秒 } // 第二种方法:设定指定任务task在指定延迟delay后进行固定延迟peroid的执行 // schedule(TimerTask task, long delay, long period) public static void timer2() { Timer timer = new Timer(); timer.schedule(new TimerTask() { public void run() { System.out.println("-------设定要指定任务--------"); } }, 1000, 1000); } // 第三种方法:设定指定任务task在指定延迟delay后进行固定频率peroid的执行。 // scheduleAtFixedRate(TimerTask task, long delay, long period) public static void timer3() { Timer timer = new Timer(); timer.scheduleAtFixedRate(new TimerTask() { public void run() { System.out.println("-------设定要指定任务--------"); } }, 1000, 2000); } // 第四种方法:安排指定的任务task在指定的时间firstTime开始进行重复的固定速率period执行. // Timer.scheduleAtFixedRate(TimerTask task,Date firstTime,long period) public static void timer4() { Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.HOUR_OF_DAY, 12); // 控制时 calendar.set(Calendar.MINUTE, 0); // 控制分 calendar.set(Calendar.SECOND, 0); // 控制秒 Date time = calendar.getTime(); // 得出执行任务的时间,此处为今天的12:00:00 Timer timer = new Timer(); timer.scheduleAtFixedRate(new TimerTask() { public void run() { System.out.println("-------设定要指定任务--------"); } }, time, 1000 * 60 * 60 * 24);// 这里设定将延时每天固定执行 } }
原博客地址:http://blog.csdn.net/bzuld/article/details/8598776
相关推荐
终止Timer线程有几种方法,比如在run方法中调用timer的cancel方法、将Timer线程设置为守护线程等。 总之,Java中实现定时任务的三种主要方式各有特点,从简单的Timer到功能强大的Quartz再到易用的Spring Task,...
在使用JAVA定时器时,需要注意以下几点: * 在中不能够设置default-lazy-init="true",否则定时任务不触发。 * 在中不能够设置default-autowire="byName"的属性,否则后台会报org.springframework.beans.factory....
Spring 中的 Quartz 配置-Spring 定时器-java 定时器 在 Spring 框架中,Quartz 是一个非常流行的开源作业调度器,可以实现任务的定时执行。在本篇文章中,我们将讨论如何在 Spring 中配置 Quartz,以实现 Java ...
在使用Java定时器时,我们需要注意以下几点: 1. **线程安全**:如果定时任务涉及到共享资源,确保任务代码是线程安全的,避免并发问题。 2. **异常处理**:定时任务可能会抛出异常,需要正确捕获并处理,防止任务...
Spring框架和Java内置的定时器提供了两种不同的方式来实现这样的功能。 首先,我们来看Spring定时器。Spring使用的是Quartz库来实现定时任务管理。在给出的例子中,可以看到配置文件中定义了几个关键的bean: 1. `...
根据给定的信息,本文将详细解析Java定时器的制作及应用,同时对比.NET中的三种不同类型的定时器,以便更好地理解定时任务的实现方式及其特点。 ### Java定时器基础 Java中定时器(Timer)主要用于执行周期性的...
使用Java定时器时,有几点需要注意: 1. **并发问题**:多个TimerTask在同一Timer实例上并行执行可能导致竞态条件,如果需要并发执行多个任务,建议使用单独的Timer对象。 2. **任务取消**:任务可以通过调用`...
Java定时器Timer是Java编程语言中用于计划执行任务的一种工具类。Timer类主要提供了定时任务的安排执行,对于需要在指定时间后、或者以固定周期重复执行任务的场景非常有用。本文档中介绍的Timer类的实现以及如何...
`Timer`类提供了一种方法,可以在指定的延迟后或定期执行任务,这对于需要在应用程序中设置计时器或者定时触发某些操作的场景非常有用。在本篇文章中,我们将深入探讨`Timer`类的工作原理、使用方式以及注意事项。 ...
在Java中,定时任务通常通过以下几种方式实现: 1. **Java.util.Timer和TimerTask**: 这是Java标准库提供的基础定时服务。`Timer`类用于创建定时器,`TimerTask`则表示需要定时执行的任务。通过`schedule(TimerTask...
在Java编程中,定时任务是常见的一种需求,例如定时发送邮件。这通常涉及到Java的定时器(Timer)类和相关的API。在这个场景中,我们将会深入探讨如何利用Java的定时器来实现定时发送邮件的功能。 首先,Java的...
使用`Timer`时,需要注意以下几点: - 任务执行的精确性:由于系统调度和线程上下文切换的影响,定时任务的执行时间可能会有所偏差。 - 程序关闭时的资源释放:确保在程序退出时取消所有定时任务,以避免后台线程...
### Java定时器代码详解 #### 一、引言 在Java开发中,定时任务是非常常见的一种需求场景。例如,我们可能需要每隔一段时间执行某个任务,或者在特定的时间点执行某个操作。Java内置了多种实现定时任务的方式,...
Spring 框架提供了多种方式来实现定时任务,其中一种常见的方法是使用 Quartz 作为定时任务的调度器。Quartz 是一个开源的作业调度工具,能够触发在 Java 应用程序中定义的作业,并且支持复杂的循环策略。 #### 二...
在Java开发中,定时任务的实现有多种方式,其中Java Quartz和Spring Task是常用的两种解决方案。本文将详细介绍这两种定时任务的实现方法,并对比它们的特点。 首先,我们来看Java自带的`java.util.Timer`类。虽然...
使用Java定时器通常包括以下几个步骤: 1. **创建Timer对象**:`Timer timer = new Timer();` 2. **定义TimerTask子类**:创建一个继承自`TimerTask`的类,并重写其`run()`方法,该方法包含你要定时执行的任务。 3....