我努力在Android上找到TimerTask函數的文檔。 我需要使用TimerTask間隔運行一個線程,但不知道如何去做這件事。 任何意見或例子將不勝感激。你如何使用TimerTask來運行線程?
回答
您使用Timer
,並且當您使用任何schedule
-方法安排TimerTask
時,會自動爲您創建一個新的線程。
實施例:
Timer t = new Timer();
t.schedule(myTimerTask, 1000L);
這將在屬於該定時器每秒一次一個線程中運行myTimerTask
一個定時器。
我已經實現了這樣的事情,它工作正常:
private Timer mTimer1;
private TimerTask mTt1;
private Handler mTimerHandler = new Handler();
private void stopTimer(){
if(mTimer1 != null){
mTimer1.cancel();
mTimer1.purge();
}
}
private void startTimer(){
mTimer1 = new Timer();
mTt1 = new TimerTask() {
public void run() {
mTimerHandler.post(new Runnable() {
public void run(){
//TODO
}
});
}
};
mTimer1.schedule(mTt1, 1, 5000);
}
真棒答案的正確鏈接...爲什麼沒有upvotes? .... – 2013-01-10 06:22:13
計劃中的1是什麼? – Praneeth 2016-02-09 06:10:55
計劃中的1是第一次執行計劃的TimerTask之前的時間量(以毫秒爲單位)。 5000是後續執行之間以毫秒爲單位的延遲量。 – Cogentleman 2016-05-05 23:54:13
這是計時器任務很好的例子。
Timer timerObj = new Timer();
TimerTask timerTaskObj = new TimerTask() {
public void run() {
//perform your action here
}
};
timerObj.schedule(timerTaskObj, 0, 15000);
- 1. TimerTask和線程
- 2. 如何使用ThreadPool來並行運行套接字線程?
- 3. 線程不使用條件TimerTask終止
- 4. TimerTask保持運行
- 5. 如何運行另一個線程並使用該線程運行計時器來重複進程?
- 6. 使用Timer和TimerTask時的Java線程執行順序
- 7. 你如何用你的應用程序運行包文件?
- 8. 你可以選擇線程池中的線程來執行(boost)
- 9. 你如何從Java運行R程序?
- 10. 你如何循環線程?
- 11. 如何在java中使用線程異步運行命令行
- 12. 在啓動應用程序服務器上運行TimerTask
- 13. 使用的TimerTask
- 14. 如何使用附加過程來運行此程序?
- 15. 使用線程來運行不屬於事務的方法?
- 16. 無法捕獲TimerTask線程異常
- 17. 你如何運行你不知道參數開始的程序?
- 18. 如何在主線程調用的TimerTask線程完成之前抑制主線程?
- 19. 在Midlet中使用線程:如何偵聽正在運行的線程?
- 20. 使用ThreadPoolExecutor,如何獲取在線程池中運行的線程的名稱?
- 21. Android:如何等待Timer和Timertask完成UI線程的工作
- 22. 如何使用TimerTask的while循環
- 23. 你需要python來運行python gtk/pyQt應用程序嗎?
- 24. 如何使用靜態參數運行fswatch來調用程序?
- 25. 如何使用Gulp來運行Node JS應用程序?
- 26. 試圖使用線程運行CamShift
- 27. 使用sched_yield來控制線程執行
- 28. GPS無法在TimerTask中運行
- 29. 從可運行/ TimerTask檢索字符串
- 30. BlackBerry - TimerTask是否在後臺運行?
上面的代碼創建一個'Timer',一秒後在一個線程_only中運行一次任務。要每秒運行一次任務,請使用這個重載的'schedule'方法:'schedule(TimerTask task,long delay,long period)'。例如,'timer.schedule(myTimerTask,1000L,2000L)'創建一個定時器,該定時器在初始延遲1秒後每2秒運行一次。這裏是鏈接到方法[鏈接](https://developer.android.com/reference/java/util/Timer.html#schedule(java.util.TimerTask,long,long))[link] – 2018-01-17 07:28:26
鏈接在上述評論中被錯誤地格式化了。這裏是[定時器](https://developer.android.com/reference/java/util/Timer.html) – 2018-01-17 07:36:00