这篇文章主要介绍了java当中的定时器的4种使用方式,有需要的朋友可以参考一下
对于开发游戏项目的同胞来说,Timer 这个东西肯定不会陌生,今天对以前自己经常使用的定时进行了一番小小的总结!没有写具体实现的原理,只是列举出了其中的四种比较常见的使用方法,相对而言,所以只要按照其所列举的例子仿照即可!
import java.util.Calendar;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
public class TimeTest {
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, 5000);
}
// 第三种方法:设定指定任务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);// 这里设定将延时每天固定执行
}
}
分享到:
相关推荐
在Java中实现定时任务有多种方式,...总之,Java中实现定时任务的三种主要方式各有特点,从简单的Timer到功能强大的Quartz再到易用的Spring Task,开发者可以根据自己的具体需求和场景,选择合适的定时任务实现方式。
JAVA中定时器的使用 JAVA 中的定时器是指在特定的时间或时间间隔执行某个任务的机制。JAVA 中提供了多种方式来实现定时器,包括...JAVA 中的定时器提供了一种灵活的方式来计划任务,提高了应用程序的自动化和效率。
Java后台定时器是一种在应用程序运行时执行特定任务的机制,常用于执行周期性的维护操作、数据同步或发送通知等。在Java中,我们可以使用多种方式实现后台定时任务,包括使用`java.util.Timer`类,`java.util....
总结,Java Web定时器提供了多种实现方式,可以根据实际需求选择合适的工具。`java.util.Timer` 简单易用,适用于轻量级定时任务;Spring的`@Scheduled` 提供了更多灵活性,适合Spring环境下的应用;而Quartz则更...
本篇文章将深入探讨Java定时器的使用方法和关键概念。 ### 1. Java定时器类介绍 Java定时器类`Timer`和`TimerTask`是配合使用的。`Timer`用于创建定时器实例并调度任务,而`TimerTask`则是一个抽象类,用于定义要...
Java中实现数字定时器的主要方式有两种:`java.util.Timer` 类和 `java.time.Duration` API。 1. **`java.util.Timer` 类** `java.util.Timer` 是Java标准库中的一个类,它提供了调度任务执行的能力。创建一个 `...
在Java编程中,定时器(Timer)是一种非常实用的工具,可以用来安排任务在未来的某个时间点执行或者定期执行。这个“Java创建定时器.rar”压缩包中的代码示例,显然是一个展示了如何在Java中利用定时器实现特定功能...
Java定时器,也被称为`Timer`类,是Java标准库中的一个强大工具,它允许开发者在指定的时间间隔执行任务,从而实现定时操作。这个类在`java.util`包中定义,是实现定时任务调度的核心。在本文中,我们将深入探讨`...
Java定时器(Timer)是Java Swing库中的一个类,它提供了调度任务在未来某个时间执行的能力。这个类主要用于在GUI应用程序中实现定时触发某些操作,比如更新界面、执行动画或者执行周期性的后台任务。Timer类结合了...
Java定时器是Java编程语言中用于执行特定任务的调度工具,它允许程序员在指定的时间间隔后执行特定的代码块或任务。在Java中,我们主要使用`java.util.Timer`类和`java.util.TimerTask`类来实现定时器功能。这两个类...
本篇文章将深入探讨如何使用Java实现两种常见的定时器机制:基于最小堆的定时器和基于时间轮的定时器。 首先,让我们来了解基于最小堆的定时器。最小堆(Min Heap)是一种特殊的树形数据结构,其每个父节点的值都...
Java定时器服务是Java平台中用于执行定时任务的关键组件,它允许开发者安排未来或定期的任务执行。在Java中,我们通常使用`java.util.Timer`类和`java.util.TimerTask`类来实现定时服务。这两个类提供了创建、调度和...
在应用开发中,经常需要一些周期性的操作,比如每5分钟执行某一操作等。 对于这样的操作最方便、高效的实现方式就是使用java.util.Timer工具类。
JAVA定时器是一种基于Quartz框架的任务调度器,用于在指定的时间执行特定的任务。在 Spring 框架中,JAVA定时器可以与Quartz框架集成,实现自动执行任务的功能。 1. JAVA定时器的基本概念 JAVA定时器是基于Quartz...
首先,Java定时器(java.util.Timer)是Java标准库提供的一种基础定时服务。它允许开发者安排一次性或重复的任务,这些任务将以单独的线程运行,不影响主线程的工作。创建定时器时,通常会使用`new Timer()`构造函数...
本Java 动态定时器基于Java的定时器线程池,阻塞队列实现,定时调度时间采用cron表达式配置的方式,其中cron表达式解析工具类提取自spring。 用法极其简单,只需要将ScheduleUtils工具类复制到项目里,然后调用...
总的来说,选择哪种方式取决于项目需求。对于简单的定时任务,`Timer`和`TimerTask`可能就足够了;对于更复杂的需求,如需要精确的定时控制或更高的并发性,`ScheduledExecutorService`是更好的选择;而在大型项目中...
Java定时器是Java编程语言中用于执行预定任务的工具,主要通过`java.util.Timer`类和`java.util.TimerTask`类来实现。这两个类提供了在指定时间间隔内重复执行任务的功能,非常适合用来创建周期性的后台任务。下面...
【Java Timer定时器】 在Java中,`java.util.Timer` 类是用于调度任务的类,它可以在特定的时间点或者按照设定的周期执行某项任务。`Timer` 类提供了两种计划任务的方法:`schedule(TimerTask task, long delay)` ...