导航:首页 > 编程语言 > javatimer停止

javatimer停止

发布时间:2024-09-27 11:50:40

java Timer定时器停止的问题

为每个TimerTask创建不同的Timer对象,想停止某个Timer直接调用其cancel()方法 ,写个小例子
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
public class Test{
public static void main(String args[]) throws InterruptedException {
TimerTask task1=new TimerTask(){
public void run() {
// TODO Auto-generated method stub
System.out.println("task1");
}
};
TimerTask task2=new TimerTask(){
public void run() {
// TODO Auto-generated method stub
System.out.println("task2");
}
};
Timer t1=new Timer();
Timer t2=new Timer();
t1.schele(task1, new Date(), 1000);//每隔一秒输出
t2.schele(task2, new Date(), 1000);//每隔一秒输出
Thread.sleep(5000);//等待5秒
t1.cancel();//停止定时器t1
Thread.sleep(5000);//等待5秒
t2.cancel();//停止定时器t2
}
}

⑵ 在java中timertask是什么类

TimerTask是一个实现了Runnable接口的抽象类,代表一个可以被Timer执行的任务。
Timer类是一种线程设施,可以用来实现某一个时间或某一段时间后安排某一个任务执行一次或定期重复执行。该功能和TimerTask配合使用。TimerTask类用于实现由Timer安排的一次或重复执行的某个任务。每一个Timer对象对应的是一个线程,因此计时器所执行的任务应该迅速完成,否则会延迟后续的任务执行。
void cancel()
// 终止此计时器,丢弃所有当前已安排的任务。
int purge()
//从此计时器的任务队列中移除所有已取消的任务。
void schele(TimerTask task, Date time)
//安排在指定的时间执行指定的任务。
void schele(TimerTask task, Date firstTime, long period)
//安排指定的任务在指定的时间开始进行重复的固定延迟执行。
void schele(TimerTask task, long delay)
//安排在指定延迟后执行指定的任务。
void schele(TimerTask task, long delay, long period)
//安排指定的任务从指定的延迟后开始进行重复的固定延迟执行。
void scheleAtFixedRate(TimerTask task, Date firstTime, long period)
//安排指定的任务在指定的时间开始进行重复的固定速率执行。
void scheleAtFixedRate(TimerTask task, long delay, long period)
//安排指定的任务在指定的延迟后开始进行重复的固定速率执行。
+++++++++++++++++++++++++++++++++++++++++++++++++++
boolean cancel()
//取消此计时器任务。
abstract void run()
//此计时器任务要执行的操作。
long scheledExecutionTime()
//返回此任务最近实际 执行的已安排 执行时间。
++++++++++++++++++++++++++++++++++++++++++++++++++++++
package zzs.time.demo;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.TimerTask;

public class MyTask extends TimerTask {

@Override
public void run() {
// TODO Auto-generated method stub
SimpleDateFormat simpleDateFormat=null;
simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS");
System.out.println("当前的系统时间为:"+simpleDateFormat.format(new Date()));

}

}

+++++++++++++++++++++++++++++++++++++++++++++++++++++++
package zzs.time.demo;

import java.util.Timer;

public class TestTask {

/**
* @param args
* @throws InterruptedException
*/
public static void main(String[] args) throws InterruptedException {
// TODO Auto-generated method stub
Timer timer=new Timer();
MyTask myTask=new MyTask();
timer.schele(myTask, 1000, 2000);
// Thread.sleep(5000);
//timer.cancel();

}
}
运行结果:
当前的系统时间为:2011-07-10 15:37:44:831
当前的系统时间为:2011-07-10 15:37:46:786
当前的系统时间为:2011-07-10 15:37:48:786
当前的系统时间为:2011-07-10 15:37:50:786
当前的系统时间为:2011-07-10 15:37:52:786
当前的系统时间为:2011-07-10 15:37:54:786

⑶ java Timer定时器停止该怎么办

private void closeTimer() {
if (timerTask != null) {
timerTask.cancel();
timerTask = null;
}
if (mTimer != null) {
mTimer.cancel();
mTimer = null;
}
}
/**
* 计时操作 改变界面的倒计时信息
*/
private void timerOperation() {
recLen = RECENT_SECOND;
mTimer = new Timer();
timerTask = new TimerTask() {

@Override
public void run() {
// TODO Auto-generated method stub
recLen--;
if (recLen >= 0) {
Message msg = new Message();
msg.what = SECOND_UPDATE;
msg.arg1 = recLen;
handler.sendMessage(msg);
}
}
};
mTimer.schele(timerTask, PROGRESS_DELAY, PROGRESS_PERIOD);
}

⑷ 如何用java实现一个计时器

java实现一个计时器,可以使用线程的sleep方法,实例如下:


{
Threadxc;
Dao=newDaoImpl();
publicTestDingShi()
{
xc=newThread(this);//线程开启
xc.start();
}
publicvoidrun()
{
while(true)
{
try
{
xc.sleep(1000);//睡眠开始计时
}
catch(InterruptedExceptione)
{
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
//TODO定时在此

}

}
}
阅读全文

与javatimer停止相关的资料

热点内容
二年下册运算法则 浏览:134
兰溪两级压缩空压机 浏览:134
网页如何取回服务器上的文件 浏览:93
linuxphp重启命令行 浏览:572
为什么我的所有app都登录不了 浏览:554
别样app海淘怎么样 浏览:509
联通app扣费是什么意思 浏览:381
android应用程序管理员权限 浏览:83
石家庄十万程序员 浏览:973
java继承类实例 浏览:288
疫情期间程序员的工资 浏览:30
最好的python编译器 浏览:189
安卓手机如何调分屏 浏览:731
安卓系统蓝牙耳机如何用 浏览:721
为什么微信不能给appstore充值 浏览:495
程序员的保护动物 浏览:275
程序员遇到问题去哪个网站 浏览:531
安卓手机空格键连续输入怎么取消 浏览:520
压缩空气管道流量计 浏览:564
ug编程高级教程 浏览:177