- 浏览: 112122 次
- 性别:
- 来自: 厦门
文章分类
最新评论
-
qiqibaba1990:
JAVA与JS的数据交互 -
月氏城下:
为什么是5个,不是9个吗?
JSP五大内置对象 -
mida:
有点文字时不时更好了。
JAVA与JS的数据交互 -
pxx199248:
收藏楼,不错
常用JS驗證
Timer类是用来执行任务的类,它接受一个TimerTask做参数
Timer有两种执行任务的模式,最常用的是schedule,它可以以两种方式执行任务:1:在某个时间(Data),2:在某个固定的时间之后(int delay).这两种方式都可以指定任务执行的频率.看个简单的例子:
import java.io.IOException;
import java.util.Timer;
public class TimerTest {
public static void main(String[] args){
54com.cn
Timer timer = new Timer();
timer.schedule(new MyTask(), 1000, 2000);//在1秒后执行此任务,每次间隔2秒,如果传递一个Data参数,就可以在某个固定的时间执行这个任务.
while(true){//这个是用来停止此任务的,否则就一直循环执行此任务了
try {
int ch = System.in.read();
if(ch-'c'==0){
timer.cancel();//使用这个方法退出任务
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
static class MyTask extends java.util.TimerTask{
@Override
public void run() {
// TODO Auto-generated method stub
System.out.println("________");
}
}
}
如果你使用的是JDK 5+,还有一个scheduleAtFixedRate模式可以用,在这个模式下,Timer会尽量的让任务在一个固定的频率下运行,举例说明:在上面的例子中,我们想让MyTask在1秒钟后,每两秒钟执行一次,但是因为java不是实时的(其实java实时性很差.....),所以,我们在上个程序中表达的原义并不能够严格执行.如果我们调用的是scheduleAtFixedRate,那么,Timer会尽量让你的Task执行的频率保持在2秒一次.运行上面的程序,假设使用的是scheduleAtFixedRate,那么下面的场景就是可能的:1秒钟后,MyTask 执行一次,因为系统繁忙,之后的2.5秒后MyTask 才得以执行第二次,然后,Timer记下了这个延迟,并尝试在下一个任务的时候弥补这个延迟,那么,1.5秒后,MyTask 将执行的三次."以固定的频率而不是固定的延迟时间去执行一个任务"
下面给出一个复杂点的例子,其中告诉大家怎么退出单个TimerTask,怎么退出所有Task
package MyTimerTest;
import java.io.IOException;
import java.util.Timer;
/* JavaScript之家http://www.jorse.cn
* 本类给出了使用Timer和TimerTaske的主要方法,其中包括定制任务,添加任务
* 退出任务,退出定时器.
* 因为TimerTask的status域是包级可访问的,所以没有办法在java.util.包外
* 得到其状态,这对编程造成一些不便 .我们不能判断某个Task的状态了.
*
*/
public class TimerTest {
public static void main(String[] args) {
Timer timer = new Timer();
MyTask myTask1 = new MyTask();
MyTask myTask2 = new MyTask();
myTask2.setInfo("myTask-2");
timer.schedule(myTask1, 1000, 2000);
timer.scheduleAtFixedRate(myTask2, 2000, 3000);
while (true) {
feedom.net
try {
byte[] info = new byte[1024];
int len = System.in.read(info);
String strInfo = new String(info, 0, len, "GBK");//从控制台读出信息
if (strInfo.charAt(strInfo.length() - 1) == ' ') {
strInfo = strInfo.substring(0, strInfo.length() - 2);
}
if (strInfo.startsWith("Cancel-1")) { myTask1.cancel();//退出单个任务
// 其实应该在这里判断myTask2是否也退出了,是的话就应该break.但是因为无法在包外得到
// myTask2的状态,所以,这里不能做出是否退出循环的判断.
} else if (strInfo.startsWith("Cancel-2")) {
feedom.net
myTask2.cancel();
} else if (strInfo.startsWith("Cancel-All")) {
JavaScript之家http://www.jorse.cn
timer.cancel();//退出Timer
break;
} else {
// 只对myTask1作出判断,偷个懒^_^
myTask1.setInfo(strInfo);
}
} catch (IOException e) { // TODO Auto-generated catch block
e.printStackTrace();
}
}
JavaScript之家http://www.jorse.cn
}
static class MyTask extends java.util.TimerTask {
54com.cn
String info = "^_^";
@Override
public void run() {
// TODO Auto-generated method stub
System.out.println(info);
}
public String getInfo() {
return info;
}
public void setInfo(String info) {
this.info = info;
}
}
}
发表评论
-
java.lang.OutOfMemoryError: Java heap space 解决方法
2012-09-25 14:40 890java.lang.OutOfMemoryError: ... -
单例模式
2012-09-13 17:26 790概念: java中单例模 ... -
设计模式
2012-09-13 17:25 757设计模式主要分三个类型:创建型、结构型和行为型。 其中创建型有 ... -
小数点
2012-08-27 16:46 839保留两位小数{方法一:{ double c=3.154 ... -
ngnix.conf配置
2012-07-18 09:20 849# 开多少进程 worker_processes 2; ... -
多维数组
2012-07-12 10:32 738java语言中,数组是一种 ... -
取得下一年时间
2012-07-05 16:16 769Calendar cal = Calendar.get ... -
JSP五大内置对象
2012-07-04 16:00 1386一、Request对象方法 ... -
反射机制学习
2012-05-31 10:50 671JAVA语言中的反射机制: 在Java 运行时 环 ... -
class生成jar包
2012-05-23 16:10 897进入dos操作符窗口 cd进入要打成jar包的class文件 ... -
读取src下properties配置
2012-05-09 10:42 747try { String path = getClas ... -
ibatis与hibernate的区别
2012-04-25 09:14 779Hibernate简介Hibernate是一个开放源代码的对象 ... -
iBATIS教程之快速入门浅析
2012-04-24 17:01 705iBATIS教程要从iBATIS的概 ... -
tomcat外部启动项目
2012-04-13 15:12 898server.xml <Context pa ... -
防止跨域提交表单
2012-04-11 14:47 859public static boolean validate( ... -
Excel操作 >> 导入
2012-04-09 15:28 1166/** * 導入文件(excel) * @auth ... -
Excel操作 >> 导出
2012-04-09 15:25 1179ExcelBean.java public class Ex ... -
計時器
2012-03-31 17:28 774所有类型的 Java 应用程序一般都需要计划重复执行的任务。企 ... -
根据url读取数据并解析(json)
2012-03-30 16:23 1162/** * @param args * @thro ... -
取URL对应的资源
2012-03-30 15:57 777认识IP、认识URL是进行网络编程的第一步。java.net. ...
相关推荐
本人原创VB套装(计时器2个、时钟2个) 欢迎下载!
计时器.exe计时器.exe计时器.exe计时器.exe计时器.exe计时器.exe计时器.exe计时器.exe计时器.exe计时器.exe计时器.exe计时器.exe计时器.exe计时器.exe计时器.exe计时器.exe计时器.exe计时器.exe计时器.exe计时器.exe...
2. 任务计划程序:虽然这不是一个标准的计时器,但Windows的任务计划程序可以用来创建自动化任务,例如运行一个提醒程序。通过设置触发器在特定时间执行任务,可以模拟计时器的功能。 二、第三方计时器软件 1. ...
"辩论赛计时器"是一款专为辩论比赛设计的计时工具,其主要功能是帮助组织者精确控制比赛时间,确保各个环节按时进行。这款计时器是基于Delphi编程语言开发的,Delphi是一种强大的面向对象的编程环境,以其高效、易用...
在IT行业中,计时器和倒计时器是常见的实用工具,尤其在组织各类活动或比赛中,它们扮演着至关重要的角色。"多功能计时器-倒计时器"这款应用程序,正如其标题所示,旨在提供一种高效且灵活的计时解决方案,适应多种...
在日常工作或学习中,我们经常需要掌握和计算时间,这时计时器工具就显得尤为重要。许多朋友发现希沃软件中的计时功能非常方便实用。今天,我为大家介绍希沃计时器工具,这是从希沃软件中单独提取出来的功能,提供了...
本篇文章将深入探讨如何在LabVIEW中实现计时器,并涉及计时器的复位功能。 首先,我们来看LabVIEW中的基本计时器类型。有两种主要的计时器:定时器(Timer)和延时器(Delay)。定时器在达到预设时间后触发一个事件...
swf计时器(很好用的swf计时器)swf计时器(很好用的swf计时器)
2. 配置参数:设置计时器的初始值、计时期限、计时单位等属性。 3. 编写脚本:在事件处理函数中编写计时器触发后执行的代码,例如在“计时器超时”事件中添加设备操作指令。 4. 连接变量:将计时器的当前值连接到...
2. **实时显示**:计时器在运行过程中会实时更新剩余时间,让参赛者和观众都能清楚地看到当前的时间状态,增加比赛的透明度。 3. **控制按钮**:通常包含“开始”、“暂停”和“重置”等按钮,允许比赛组织者根据...
2. **清空**:清除当前计时,将计时器重置为零。这可能涉及到设置计时器的初始值为0,并更新UI显示。 3. **暂停**:中断计时器的运行,但保留当前时间,以便稍后恢复。在Android中,可以使用`Handler....
3. 在计时器软件中设定三段提醒时间,如开场2分钟,主体15分钟,结尾3分钟。 4. 调整计时器窗口的位置和大小,使其既能被演讲者看到,又不影响观众对PPT内容的视线。 5. 开始演讲,计时器会实时显示剩余时间,当达到...
秒表类(MyStopWatch) 功能: 1.启动计时器 2.停止计时器 3.暂停计时 4.恢复被暂停的秒表 5.分段计时
2. **设计结构**:利用进程(process)来描述计时器的行为。进程会在时钟脉冲的上升沿触发,检查清零或启动信号,并更新计数器的值。 3. **计数器设计**:设计多个计数器,分别用于小时、分钟和秒钟的计数。这些...
2. **CountDownTimer**:Android 提供了`CountDownTimer`类,它是一个预先定义好的计时器,适合进行倒计时操作。你可以自定义`onTick(long millisUntilFinished)`方法,在倒计时每过一段时间后执行,以及`onFinish()...
2. 计时器事件处理:在脚本编辑器中,编写计时器的启动和停止事件。启动事件中,设置计时器变量的初始值;停止事件中,停止计时器的计数。 3. 更新显示组件:在计时器的周期性事件中,更新数字显示组件的值,使其与...
电话通话计时器PCB是一种专门用于记录电话通话时间的硬件设计,主要应用于需要精确计费或管理通话时间的场景。在过去的通信技术中,这种设备尤为重要,因为当时的电话服务通常按照通话时间来收费。PCB(Printed ...
在这个“1-99分钟倒计时计数计时器60进制计数器倒计时定时器等6个计时器Multisim仿真实例”中,我们将探讨几个关键的计时器设计概念和技术。 首先,让我们理解什么是倒计时计时器。倒计时计时器是一种设备或电路,...
为了满足这一需求,市面上出现了各种计时器应用,而其中,“子叶计时器-倒计时会议提醒功能”以其简洁易用的特点脱颖而出。 子叶计时器的设计目标十分明确,它是一款专为会议提醒和倒计时需求设计的应用程序,旨在...
在Unity3D游戏开发中,有时我们需要在游戏结束时添加倒数计时器,以便给玩家提供重玩或退出的选项。本教程将详细介绍如何创建一个与音乐结束同步的倒计时器,主要使用JavaScript语言实现。以下是实现这一功能的关键...