導航:首頁 > 編程語言 > java停止定時器

java停止定時器

發布時間:2022-11-05 09:42:39

1. 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);
}

2. 關於java定時器停止問題Timer類的

樓上的我沒有試,但是我可以看出,你這是一個邏輯上的混亂。
1.首先,
if(i==3){
new Test().cancel();
}
你這個i永遠都不可能=3,因為你拿到是全局變數i的默認值,而你run() 方法中的i++和這個有什麼關系?
2.其次,你的程序永遠在執行
t.schele(new Test(),1000,2000);這一句,進入死循環。因為你在不斷的調用類中的run方法。永遠不會終止。所你按照你的程序來說,應該把判斷放在run方法中。加一句
if(i==3){
System.exist(0) ;
}
為什麼要用System.exist(0) ;來終止,因為你這是在不斷的new內存,如果ruturn終止,只能終止當前線程。不信你可以試試。

3. java定時器

importjava.io.IOException;
importjava.util.Timer;

publicclassTimerTest{

publicstaticvoidmain(String[]args){
Timertimer=newTimer();
timer.schele(newMyTask(),1000,2000);//在1秒後執行此任務,每次間隔2秒,如果傳遞一個Data參數,就可以在某個固定的時間執行這個任務.
while(true){//這個是用來停止此任務的,否則就一直循環執行此任務了
try{
intch=System.in.read();
if(ch-'c'==0){
timer.cancel();//使用這個方法退出任務
}
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
}

staticclassMyTaskextendsjava.util.TimerTask{
@Override
publicvoidrun(){
//TODOAuto-generatedmethodstub
System.out.println("________");
}
}
}

這段代碼基本能滿足你需求了 你還有需求就在上面再套一層job 當然如過太復雜了而且這種定時需求很多的話 建議用quartz框架 使用很簡單

4. java定時器會空轉嗎

不會。
1、可以採用睡眠,sleep(),比較low。
2、在java類庫中已經寫好了定時器,java.util.Timer。可以拿來用,用的少,很多高級框架都是支持定時任務的。

5. java定時器怎麼停止

1、scheleUpdate
加入當前節點後,程序會每幀都會自動執行一次默認的Update函數。(註:一定是Update函數哦,若想調用其他自己命名的函數則使用schele)
看例子,走起。
首先在HelloWord類的頭文件中聲明Update函數:
[cpp] view plain print?
void update(float dt); //注意參數類型
然後在HelloWorld類源文件中實現函數Update:

[cpp] view plain print?
void HelloWorld::update(float dt)
{
CCLOG("");
}
現在我們可以調用了,在需要他不斷執行的地方加入調用的代碼就ok:

[cpp] view plain print?
this->scheleUpdate(); //this是當前節點,如layer,所以可以省略啦。

運行之後你將會看到不斷有被列印出來
2、scheleUpdate
可以沒隔幾秒執行某個自定義的函數,來看代碼:
首先還是在HelloWorld中聲明所要執行的函數:

6. 問個關於java定時器調整時間設定的問題

定時器啟動以後就不能去更改它的時間設定了的,
task.cancel();
用這個方法先停止定時器,然後用新的時間參數開啟新的定時器
這樣就能解決你的問題了

7. java 關於定時器timer取消任務的提問

定義一個flag變數,比如 boolean flag = true;

循環體裡面判斷flag為true時繼續,否則返回。
再定義一個觸發器來控制flag的值即可。

8. java中怎麼把定時器關掉

用cancel()方法 停止定時器

9. java類中的定時器

quartz中用有狀態的任務,他會在重復執行任務前判斷上一次是否已完成。

10. 有關Java定時器的問題

這樣改:
public class Test extends java.util.TimerTask{
public int i=0 ;
public static void main(String[] args) {
final Timer t = new Timer();
t.schele(new Test(),1000,2000);
}

public void run() {
System.out.println("sss");
i++;
System.out.println(i);
if(i == 3)
cancel();
}
}

閱讀全文

與java停止定時器相關的資料

熱點內容
銑外圓格式編程視頻 瀏覽:237
掛壁式空調壓縮機 瀏覽:699
通信伺服器是什麼意思 瀏覽:385
私有雲與伺服器有什麼區別 瀏覽:371
設計源碼是什麼 瀏覽:507
nioslinux 瀏覽:452
程序員用多大筆記本 瀏覽:672
游戲腳本高級編程英文版 瀏覽:507
從不懂編程到成一個大神 瀏覽:407
pdf轉換器永久破解版 瀏覽:338
java郵件內容 瀏覽:127
如何正確地解壓 瀏覽:188
f盤里的圖片文件夾可以刪嗎 瀏覽:12
寵物大進化源碼 瀏覽:748
英雄聯盟手游微信區安卓怎麼掃碼 瀏覽:715
如何買雲伺服器價格對比 瀏覽:652
簡述linux源碼安裝步驟 瀏覽:96
單片機張毅剛答案 瀏覽:676
究極風暴3壓縮包 瀏覽:533
28歲程序員真實身份 瀏覽:176