導航:首頁 > 編程語言 > 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停止相關的資料

熱點內容
阿克蘇app什麼用長 瀏覽:416
卡爾曼濾波演算法原理 瀏覽:792
為什麼現在那麼多看廣告的app 瀏覽:841
盒子3個問號什麼APP 瀏覽:364
單片機sp加括弧有什麼區別 瀏覽:656
蘋果電腦圖庫文件夾 瀏覽:361
單片機硬體電路 瀏覽:418
手機怎麼把qq文件放入文件夾 瀏覽:178
視頻文件夾英語 瀏覽:374
汽車壓縮機分類 瀏覽:647
小火箭編程啟蒙里的積木 瀏覽:461
程序員第一次見蛇 瀏覽:481
安徽辦公軟體文件加密 瀏覽:452
mysqlphp資料庫連接池 瀏覽:437
隱私密碼加密為什麼找不到微信 瀏覽:37
程序員判刑 瀏覽:121
車展app什麼時候上市 瀏覽:708
linux創建文件夾c 瀏覽:832
程序員極限挑戰大賽 瀏覽:226
香港伺服器如何辨別高性能 瀏覽:499