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

熱點內容
非科班程序員自學 瀏覽:799
壓縮泡沫鞋底底材 瀏覽:217
程序員職場第一課2正確的溝通 瀏覽:677
遇到不合法app應該怎麼辦 瀏覽:90
匯編程序編譯後的文件 瀏覽:77
大智慧均線源碼 瀏覽:371
單片機排阻的作用 瀏覽:213
滴滴金融app被下架如何還款 瀏覽:210
jpg轉換成pdf免費軟體 瀏覽:741
范里安pdf 瀏覽:443
偽造pdf 瀏覽:75
能刪除android文件夾嗎 瀏覽:446
LINUX使用V2ray 瀏覽:797
找人幫忙注冊app推廣是什麼 瀏覽:820
獨立伺服器如何恢復初始化 瀏覽:11
優秀到不能被忽視pdf 瀏覽:316
導遊程序員家政 瀏覽:586
22乘28的快速演算法 瀏覽:338
軟通動力程序員節2021 瀏覽:846
安卓系統如何卸載安裝包 瀏覽:870