`

scheduleAtFixedRate的使用

    博客分类:
  • java
 
阅读更多
schedule和scheduleAtFixedRate的区别在于,如果指定开始执行的时间在当前系统运行时间之前,scheduleAtFixedRate会把已经过去的时间也作为周期执行,而schedule不会把过去的时间算上

下面是一个例子,这段代码主要目地是当一定条件成立时才去运行主程序,之前会每隔一定的时间去检查。

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

public class TestTask {
	public static boolean flag = true;
	public static Timer t = new Timer();
	public static void main(String[] args) {
//		scheduleAtFixedRate(TimerTask task, Date firstTime, long period);
		Date d2 = new Date(System.currentTimeMillis()+1000);
		  t.scheduleAtFixedRate(new TimerTask(){
		   public void run()
		   {
			   System.out.println("this is task you do");
		   if(true){//这里应该做一些检查,当符合一定的条件的时候,执行下里面的两句,这里固定写成了true
			   TestTask.flag = false;
			   t.cancel();
		   }
		 
		   }
		  },d2,10*1000);//每隔10秒检查一次
		  
		  //下面的while循环主要是hold住主程序
		  while(TestTask.flag){
			  try {
				Thread.sleep(2*1000);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
		  }
		  
		  //下面是执行主程序
		  System.out.println("dfdfdf");
	}

}
分享到:
评论

相关推荐

    Java Timer:schedule和scheduleAtFixedRate

    `TimerSchedueAndScheduleAtFixRate2.java` 和 `TimerSchedueAndScheduleAtFixRate.java` 可能包含示例代码,演示了如何使用 `schedule` 和 `scheduleAtFixedRate` 安排任务。 在 `...

    java中timer的schedule和scheduleAtFixedRate方法区别详解

    但是,当我们使用 scheduleAtFixedRate 方法时,任务的执行时间超过了预期时间,scheduleAtFixedRate 方法将会等待任务完成,然后继续执行下一个任务。 结论 schedule 方法用于安排一个任务在指定的时间执行一次,...

    Java定时任务schedule和scheduleAtFixedRate的异同

    该接口提供了两个方法,`schedule`和`scheduleAtFixedRate`,它们都能用于安排任务的执行,但具体的行为有所不同。本文将深入探讨这两个方法的异同。 1. **schedule方法** `schedule`方法用于一次性延迟执行任务,...

    几种定时任务(Timer、TimerTask、ScheduledFuture)的退出—结合真实案例【JAVA并发】.docx

    本文将结合实际案例探讨如何使用Timer、TimerTask以及ScheduledFuture来实现定时任务,并着重讲解它们的退出机制。 首先,我们来看Timer和TimerTask的使用。Timer类是一个用于调度定时任务的工具,它使用单个后台...

    JAVA中定时器的使用

    例如,在上面的代码中,我们使用 scheduleAtFixedRate 方法来安排一个任务,在 2005/12/30 14:10:00 开始执行,每隔 3 分钟执行一次。如果我们在 14:17:00 执行这个程序,那么会立刻打印 3 次 "this is task you do6...

    android中timer的使用

    // 若要实现周期性任务,可以使用scheduleAtFixedRate()方法 // 参数分别为:任务,首次执行的延迟,两次执行之间的间隔 timer.scheduleAtFixedRate(task, 0, 5000); // 零延迟开始,每5秒执行一次 ``` 需要注意的...

    Java中的Timer和TimerTask的使用.doc

    `start()`方法使用`Timer`的`schedule()`或`scheduleAtFixedRate()`方法来安排任务。`schedule()`方法用于单次执行,而`scheduleAtFixedRate()`则用于周期性执行,确保任务按照固定的频率执行,即使上一次执行超时也...

    定时器创建和使用

    如果你想让任务每隔一段时间重复执行,可以使用`scheduleAtFixedRate`方法: ```java timer.scheduleAtFixedRate(new MyTask(), 0, 5000); // 开始立即执行,之后每5000毫秒执行一次 ``` 在Python中,我们可以使用...

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

    在上面的例子中,我们使用scheduleAtFixedRate方法来执行任务。在这个例子中,我们让任务在 1 秒后执行,并且每次间隔 2 秒钟。 java.util.TimerTask类 java.util.TimerTask类是Java Timer定时器的任务类,它可以...

    java使用定时器,定时发送邮件

    在我们的例子中,因为要定时发送邮件,所以可能会使用到`scheduleAtFixedRate()`方法来定期执行发送邮件的任务。 创建一个定时任务,你需要定义一个实现了`java.lang.Runnable`接口的类,该类包含实际执行的任务...

    java类Timer和TimerTask的使用.pdf

    这个方法和`schedule`类似,但不同之处在于它会尽力确保任务按照固定的频率执行,即使前一次执行因为各种原因(如系统延迟)超过了预定的时间间隔,`scheduleAtFixedRate`也会尝试调整后续任务的执行时间以补偿之前...

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

    创建一个`Timer`对象后,你可以使用`schedule()`或`scheduleAtFixedRate()`方法来安排任务。`schedule()`方法用于单次延迟执行,而`scheduleAtFixedRate()`方法则用于周期性地执行任务。 下面是一个使用`Timer`类...

    java web使用监听器实现定时周期性执行任务demo

    创建一个ScheduledExecutorService实例,然后使用`scheduleAtFixedRate`或`scheduleWithFixedDelay`方法设定任务的执行频率。 示例代码: ```java import java.util.concurrent.ScheduledExecutorService; import ...

    Timer定时器的使用方法

    3. 计划任务:使用 `schedule()` 或 `scheduleAtFixedRate()` 方法来安排 `TimerTask` 的执行。前者按指定延迟后首次执行,然后每次间隔指定的时间执行;后者则保证两次执行之间的间隔固定,即使上一次执行超时也...

    android 应用 源代码——定时器

    // 如果需要周期性执行,可以使用scheduleAtFixedRate // timer.scheduleAtFixedRate(myTask, 0, 5000); // 每5秒执行一次,无初始延迟 ``` 四、源代码解析 在提供的源代码中,可能包含了一个或多个使用定时器的...

    监控任务管理器中某个进程的使用情况java编写

    this.executorService.scheduleAtFixedRate(this::monitorProcess, 0, 1, TimeUnit.MINUTES); } private void monitorProcess() { // 这里调用上述监控方法 } public void shutdown() { executorService....

    定时器(完)

    最后,我们使用`scheduleAtFixedRate()`方法设置定时器在初始延迟5秒后开始执行任务,并以5秒为周期持续执行。 然而,Java定时器有一些需要注意的地方。由于Timer和TimerTask在单个后台线程中运行,如果一个任务...

    Java定时器的使用 Java程序

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

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

    然后,我们可以使用`schedule`或`scheduleAtFixedRate`方法来安排任务。`schedule`方法用于一次性执行任务,而`scheduleAtFixedRate`则用于按固定速率周期性执行任务。 `TimerTask`是`Timer`类的辅助类,它代表一个...

Global site tag (gtag.js) - Google Analytics