Timer类
构造方法:
public Timer()
- 创建一个新计时器。相关的线程不 作为守护程序运行。
public Timer(boolean isDaemon)
- 创建一个新计时器,可以指定其相关的线程作为守护程序运行。如果计时器将用于安排重复的“维护活动”,则调用守护线程,在应用程序运行期间必须调用守护线程,但是该操作不应延长程序的生命周期。
- 参数:
isDaemon- 如果应该将相关的线程作为守护程序运行,则为 true。
public Timer(String name)
- 创建一个新计时器,其相关的线程具有指定的名称。相关的线程不 作为守护程序运行。
- 参数:
name- 相关线程的名称。- 抛出:
NullPointerException- 如果 name 为 null。
public Timer(String name,boolean isDaemon)
- 创建一个新计时器,其相关的线程具有指定的名称,并且可以指定作为守护程序运行。
- 参数:
name- 相关线程的名称。isDaemon- 如果应该将相关的线程作为守护程序运行,则为 true。- 抛出:
NullPointerException- 如果 name 为 null。
schedule方法:
public void schedule(TimerTask task, long delay)
- 安排在指定延迟后执行指定的任务。
-
- 参数:
task- 所要安排的任务。delay- 执行任务前的延迟时间,单位是毫秒。
public void schedule(TimerTask task, Date time)
- 安排在指定的时间执行指定的任务。如果此时间已过去,则安排立即执行该任务。
-
- 参数:
task- 所要安排的任务。time- 执行任务的时间。
public void schedule(TimerTask task, long delay, long period)
- 安排指定的任务从指定的延迟后开始进行重复的固定延迟执行。以近似固定的时间间隔(由指定的周期分隔)进行后续执行。
在固定延迟执行中,根据前一次执行的实际执行时间来安排每次执行。如果由于任何原因(如垃圾回收或其他后台活动)而延迟了某次执行,则后续执行也将被延迟。从长期来看,执行的频率一般要稍慢于指定周期的倒数(假定 Object.wait(long) 所依靠的系统时钟是准确的)。
固定延迟执行适用于那些需要“平稳”运行的重复活动。换句话说,它适用于在短期运行中保持频率准确要比在长期运行中更为重要的活动。这包括大多数动画任务,如以固定时间间隔闪烁的光标。这还包括为响应人类活动所执行的固定活动,如在按住键时自动重复输入字符。
-
- 参数:
task- 所要安排的任务。delay- 执行任务前的延迟时间,单位是毫秒。period- 执行各后续任务之间的时间间隔,单位是毫秒。
public void schedule(TimerTask task, Date firstTime, long period)
- 安排指定的任务在指定的时间开始进行重复的固定延迟执行。以近似固定的时间间隔(由指定的周期分隔)进行后续执行。
在固定延迟执行中,根据前一次执行的实际执行时间来安排每次执行。如果由于任何原因(如垃圾回收或其他后台活动)而延迟了某次执行,则后续执行也将被延迟。在长期运行中,执行的频率一般要稍慢于指定周期的倒数(假定 Object.wait(long) 所依靠的系统时钟是准确的)。
固定延迟执行适用于那些需要“平稳”运行的重复执行活动。换句话说,它适用于在短期运行中保持频率准确要比在长期运行中更为重要的活动。这包括大多数动画任务,如以固定时间间隔闪烁的光标。这还包括为响应人类活动所执行的固定活动,如在按住键时自动重复输入字符。
-
- 参数:
task- 所要安排的任务。firstTime- 首次执行任务的时间。period- 执行各后续任务之间的时间间隔,单位是毫秒。
scheduleAtFixedRate方法:
public void scheduleAtFixedRate(TimerTask task, long delay, long period)
- 安排指定的任务在指定的延迟后开始进行重复的固定速率执行。以近似固定的时间间隔(由指定的周期分隔)进行后续执行。
在固定速率执行中,根据已安排的初始执行时间来安排每次执行。如果由于任何原因(如垃圾回收或其他后台活动)而延迟了某次执行,则将快速连续地出现两次或更多的执行,从而使后续执行能够“追赶上来”。从长远来看,执行的频率将正好是指定周期的倒数(假定 Object.wait(long) 所依靠的系统时钟是准确的)。
固定速率执行适用于那些对绝对 时间敏感的重复执行活动,如每小时准点打钟报时,或者在每天的特定时间运行已安排的维护活动。它还适用于那些完成固定次数执行的总计时间很重要的重复活动,如倒计时的计时器,每秒钟滴答一次,共 10 秒钟。最后,固定速率执行适用于安排多个重复执行的计时器任务,这些任务相互之间必须保持同步。
-
- 参数:
task- 所要安排的任务。delay- 执行任务前的延迟时间,单位是毫秒。period- 执行各后续任务之间的时间间隔,单位是毫秒。
public void scheduleAtFixedRate(TimerTask task, Date firstTime, long period)
- 安排指定的任务在指定的时间开始进行重复的固定速率执行。以近似固定的时间间隔(由指定的周期分隔)进行后续执行。
在固定速率执行中,相对于已安排的初始执行时间来安排每次执行。如果由于任何原因(如垃圾回收或其他后台活动)而延迟了某次执行,则将快速连续地出现两次或更多次执行,从而使后续执行能够赶上来。从长远来看,执行的频率将正好是指定周期的倒数(假定 Object.wait(long) 所依靠的系统时钟是准确的)。
固定速率执行适用于那些对绝对 时间敏感的重复执行活动,如每小时准点打钟报时,或者在每天的特定时间运行已安排的维护活动。它还适用于那些完成固定次数执行的总计时间很重要的重复活动,如倒计时的计时器,每秒钟滴答一次,共 10 秒钟。最后,固定速率执行适用于安排多次重复执行的计时器任务,这些任务相互之间必须保持同步。
-
- 参数:
task- 所要安排的任务。firstTime- 首次执行任务的时间。period- 执行各后续任务之间的时间间隔,单位是毫秒。
public void cancel()
- 终止此计时器,丢弃所有当前已安排的任务。这不会干扰当前正在执行的任务(如果存在)。一旦终止了计时器,那么它的执行线程也会终止,并且无法根据它安排更多的任务。
注意,在此计时器调用的计时器任务的 run 方法内调用此方法,就可以绝对确保正在执行的任务是此计时器所执行的最后一个任务。
可以重复调用此方法;但是第二次和后续调用无效。
-
public int purge()
- 从此计时器的任务队列中移除所有已取消的任务。调用此方法对计时器的行为没有影响,但是将无法引用队列中已取消的任务。如果没有对这些任务的外部引用,则它们就成为垃圾回收的合格对象。
多数程序无需调用此方法。它设计用于一些罕见的应用程序,这些程序可取消大量的任务。调用此方法要以时间来换取空间:此方法的运行时可能与 n + c log n 呈正比,其中 n 是队列中的任务数,而 c 是取消的任务数。
注意,从此计时器上所安排的任务中调用此方法是允许的。
-
- 返回:
- 从队列中移除的任务数。
Timer类的更多相关文章
- 本地数据Store。Cookie,Session,Cache的理解。Timer类主要用于定时性、周期性任务 的触发。刷新Store,Panel
本地数据Store var monthStore = Ext.create('Ext.data.Store', { storeId : 'monthStore', autoLoad : false, ...
- C#中timer类的用法
C#中timer类的用法 关于C#中timer类 在C#里关于定时器类就有3个 1.定义在System.Windows.Forms里 2.定义在System.Threading.Timer类 ...
- Timer类和TimerTask类
Timer类是一种线程设施,可以用来实现在某一个时间或某一段时间后安排某一个任务执行一次或定期重复执行. 该功能要与TimerTask类配合使用.TimerTask类用来实现由Timer安排的一次或重 ...
- 使用Timer类的两个实例 动态时钟
package chapter16; import javax.swing.*; import chapter15.StillClock; import java.awt.event.*; publi ...
- C#的timer类
在C#里关于定时器类就有3个 1.定义在System.Windows.Forms里 2.定义在System.Threading.Timer类里 3.定义在System.Timers.Timer类里 S ...
- 使用System.Timers.Timer类实现程序定时执行
使用System.Timers.Timer类实现程序定时执行 在C#里关于定时器类有3个:System.Windows.Forms.Timer类.System.Threading.Timer类和Sys ...
- 关于C#中timer类
·关于C#中timer类 在C#里关于定时器类就有3个 1.定义在System.Windows.Forms里 2.定义在System.Threading.Timer类里 3.定义在System.Tim ...
- [ImportNew]Java中的Timer类和TimerTask类
http://www.importnew.com/9978.html java.util.Timer是一个实用工具类,该类用来调度一个线程,使它可以在将来某一时刻执行. Java的Timer类可以调度 ...
- Java:利用java Timer类实现定时执行任务的功能
一.概述 在java中实现定时执行任务的功能,主要用到两个类,Timer和TimerTask类.其中Timer是用来在一个后台线程按指定的计划来执行指定的任务.TimerTask一个抽象类,它的子类代 ...
- 【外文翻译】使用Timer类去调度任务 ——java
使用Timer类去调度任务 --java 原文地址:https://dzone.com/articles/using-timer-class-to-schedule-tasks 原文作者:Jay Sr ...
随机推荐
- Python 嵌套函数和闭包
Python 嵌套函数和闭包 1.函数嵌套 如果在一个函数内部定义了另一个函数,我们称外部的函数为外函数,内部的函数为内函数,如下代码: def out_func(): def inner_func1 ...
- CF961D Pair Of Lines
题目描述 You are given n n n points on Cartesian plane. Every point is a lattice point (i. e. both of it ...
- (一)MySQL学习笔记
1.MySQL安装 下载地址:https://dev.mysql.com/downloads/mysql/ 启动mysql服务 net start mysql 停止mysql服务 net stop m ...
- 【刷题】BZOJ 1717 [Usaco2006 Dec]Milk Patterns 产奶的模式
Description 农夫John发现他的奶牛产奶的质量一直在变动.经过细致的调查,他发现:虽然他不能预见明天产奶的质量,但连续的若干天的质量有很多重叠.我们称之为一个"模式". ...
- [luogu1654]OSU!
update 9.20:本篇题解已经被\(yyb\)证明是出锅的 这道题目最后的式子看上去是很简单的,不到10行就码完了,但是求式子的过程并没有那么简单. 很容易想到一种枚举思路: 因为每一段连续的1 ...
- [SCOI2007]修车 费用流
---题面--- 题解: 因为我们并不需要知道准确方案,而人数固定,要使得平均等待时间最小,也就是要使得总的等待时间最小. 因此我们将工人按每个时刻拆点,拆完之后向车子连边,流量为1,费用为k * 维 ...
- 基础dp例题整理
背包: 消失之物 先直接做一遍,必然对于i,有 for(j=m;j>=w[i];--j) f[i]+=f[i-w[i]] 所以,如果排除用i做背包的结果,减去这个转移就好了. memcpy(g, ...
- 专题训练之2-sat
推荐几篇博客:https://blog.csdn.net/JarjingX/article/details/8521690 研究总结2-sat问题 https://blog.csdn.net/wher ...
- 背景建模技术(五):视频捕获(VideoCapture)模块
本次对“视频捕获(VideoCapture)模块”做出分析,给出源代码和对应的程序流程框架. 视频捕获模块的主要功能是设置视频或相机参数,并读取设置配置参数,最后进入帧处理模块的process进程,该 ...
- ACE日志系统
引用于:http://blog.csdn.net/focusonace/article/details/3108873 http://peirenlei.iteye.com/blog/305036 介 ...