Timer和TimerTask的应用
java.util.Timer
是JDK自带的一个定时器类。
Timer timer = new Timer(); // new一个定时器对象
CallRMITask callRMITask = new CallRMITask(); // new一个TimerTask对象
timer.schedule(callRMITask, 0, 3 * 1000);
// 定时器立即执行该task任务,且每隔3秒钟后执行一次。(具体方法参数含义可以参照JDK API)
java.util.TimerTask
是JDK自带的一个任务类。
我们在使用时只需继承该类,且重写其中的run()方法即可。run()体内的操作就是我们所要定时执行的任务。上述中
CallRMITask类即为一个继承了TimerTask的类。(
CallRMITask extends TimerTask
)
注意:
当timer对象执行schedule方法之后是不会自动停止的,那么我们怎样来停止当前循环执行的任务呢?答案很简单,执行timer.cancel();即可停止当前定时器。那么又有一个问题出现了,当我们在循环执行任务时怎么知道什么时候才可以去执行cancel方法呢?答案同样也很简单,再写一个StopTask extends TimerTask子类,该类专门用来守护之前的任务,其run方法体仅仅只是一行代码:timer.cancel(); 例如我们想要上述的任务在执行完三次之后自动停止,那么就可以这么写:
timer.schedule(stopTask, 3 * 1000 * 2); 这样timer定时器即可在执行完三次任务之后自动停止,从而达到一个定时器自动开关的效果。具体Timer类的各个方法及参数的含义大家可以参照JDK API。
分享到:
相关推荐
不过,标准的调度类 Timer 和 TimerTask 没有足够的灵活性,无法支持通常需要的计划任务类型。在本文中,Java 开发人员 Tom White 向您展示了如何构建一个简单通用的计划框架,以用于执行任意复杂的计划任务。
不过,标准的调度类 Timer 和 TimerTask 没有足够的灵活性,无法支持通常需要的计划任务类型。在本文中,Java 开发人员 Tom White 向您展示了如何构建一个简单通用的计划框架,以用于执行任意复杂的计划任务。
主要介绍了Android TimerTask 的简单应用及注意事项的相关资料,需要的朋友可以参考下
所有类型的 Java 应用程序一般都需要计划重复执行的任务。...不过,标准的调度类 Timer 和 TimerTask 没有足够的灵活性,无法支持通常需要的计划任务类型。在本资源中包含框架构造过程和java源代码,欢迎下载。
我们通常写的timer都是用main方法写的定时器,但同样我们也需要根据服务器启动后定时器也启动的 定时执行任务。不过有个致命伤就是集群方面跟quartz不能比,此方法代码做参考不错,如果要用,那么这个方法在一台...
后台定时定位开机自启系统android 类库中, 虽然已经提供了几种...1. 定时的发送定位请求,首先需要 定时器 Timer 和 TimerTask ,来定时地发送定位请求; 2. 在定位的回调函数里,将定位获取的信息保存到本地
13.4.1 Timer和TimerTask 13.4.2 Spring对JDK Timer的支持 13.5 Spring对JDK 5.0 Executor的支持 13.5.1 了解JDK 5.0的Executor 13.5.2 Spring对Executor所提供的抽象 13.6 实际应用中的任务调度 13.6.1 如何产生...
13.4.1 Timer和TimerTask 13.4.2 Spring对JDK Timer的支持 13.5 Spring对JDK 5.0 Executor的支持 13.5.1 了解JDK 5.0的Executor 13.5.2 Spring对Executor所提供的抽象 13.6 实际应用中的任务调度 13.6.1 如何产生...
Android 双击Back键退出应用的...Timer 对象的 schedule( ) 方法需要一个 TimerTask 对象和一个时间长度(毫秒)作为参数。TimerTask 对象需要重写它的 run( )方法,当 Timer 执行延时任务时,则会执行 TimerTask 的
应用启动页自定义跳转计时器View Demo: CircleTextProgressbar.java: package com.demo.startpageskiptimerdemo.widget; import android.content.Context; import android.content.res.ColorStateList; import ...
8.3.1 Timer和TimerTask类 8.3.2 shutdown命令 8.3.3 通过shutdown命令实现网络远程关机 8.4 小结 第3篇 GUI(图形用户界面)开发 第9章 典型的图形用户界面(各种组件) 9.1 Label和Button的用户界面 9.1.1 分析...
应用场景:当两方执行不对称的操作(读和取) 线程池 任务与执行策略之间的隐形耦合 线程饥饿死锁 运行时间较长的任务 设置线程池的大小 配置ThreadPoolExecutor 构造参数 corePoolSize ...
让应用程序定时执行某个任务. 从Java 1.3开始,Java SDK就通过java.util.Timer类提供了基本的调度功能。这个类允许你调度一个任务(通过java.util.TimerTask子类定义)按任意周期运行。
在Android开发中我们可能会有延时执行某个操作的需求,例如我们启动应用的时候,一开始呈现的是一个引导页面,过了两三秒后,会自动跳转到主界面。这就是一个延时操作。 而写这篇文章的目的,是看到群里有人在实现...
认识 Spring 来认识 Spring 的一些特性,并初步了解一下什么叫作 IoC... 使用 TimerTask 使用 MethodInvokingTimerTaskFactoryBean 使用 Quartz 使用 MethodInvokingJobDetailFactoryBean