Android'de TimerTask işlevi için belgeleri bulmak için uğraşıyorum. Bir TimerTask kullanarak aralıklarla bir iş parçacığı çalıştırmam gerekiyor, ancak bunun hakkında nasıl bir fikrim yok. Herhangi bir tavsiye veya örnek çok takdir edilecektir.Bir iş parçacığını çalıştırmak için TimerTask'ı nasıl kullanıyorsunuz?
cevap
Timer
kullanıyorsunuz ve TimerTask
'u, schedule
-yöntemlerinden herhangi birini kullanarak zamanladığınız zaman otomatik olarak yeni bir Özet oluşturur.
Örnek: Bu kez o Timer her saniye ait bir Thread myTimerTask
çalıştıran bir Timer oluşturur
Timer t = new Timer();
t.schedule(myTimerTask, 1000L);
.
Böyle bir şey uyguladık ve iyi çalışıyor:
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);
}
müthiş cevap ... neden hiçbir upvotes? .... –
Zamanlamada 1 nedir? – Praneeth
Zamanlama, programlanmış 1 TimerTask'ın ilk çalıştırılmasından önceki milisaniye cinsinden süredir. 5000, sonraki yürütme arasında milisaniye cinsinden gecikme miktarıdır. – Cogentleman
Bu zamanlayıcı görev için mükemmel bir örnektir.
Timer timerObj = new Timer();
TimerTask timerTaskObj = new TimerTask() {
public void run() {
//perform your action here
}
};
timerObj.schedule(timerTaskObj, 0, 15000);
- 1. Bir derste iş parçacığını nasıl kullanırım?
- 2. Python'daki bir iş parçacığını nasıl öldürebilirim
- 3. Tek bir iş parçacığı kullanarak çoklu iş parçacığını nasıl gerçekleştirirsiniz?
- 4. Django'da toplu iş parçacığını nasıl uygularım?
- 5. Spring TaskExecutor'ın oluşturduğu iş parçacığını nasıl otomatikleştirebilirim?
- 6. İş parçacığını belirli bir süre sonra durdurun
- 7. IntelliJ - hata ayıklanırken bir iş parçacığını duraklat
- 8. NSURLConnection ana iş parçacığını engelliyor mu?
- 9. Nasıl bir işlevi çalıştırmak için?
- 10. Bir kesme noktası tüm iş parçacığını durdurur mu?
- 11. Çoğu zaman belirli bir süre sonra bir iş parçacığını öldürmek için kullanılan Pythonic yolu
- 12. VisualVM veya unix komutunu kullanarak bir java parçacığını nasıl öldürebilirsiniz?
- 13. iOS AudioSessionSetActive() ana iş parçacığını engelliyor mu? IOS uygulamasında
- 14. DownloadStringAsync ilk aramanda 14 saniye süreyle iş parçacığını engeller
- 15. Konsol uygulamamı, çıkmadan başka bir iş parçacığındaki bir arka plan işlemini çalıştırmak için nasıl alabilirim?
- 16. Her 'HttpRequest' kendi iş parçacığını ASP.NET'te alır mı?
- 17. UIScrollView'daki olay izleme, ana iş parçacığını engeller. Herhangi bir düzeltme var mı?
- 18. Düğümde arka plan görevlerini çalıştırmak için ne gerekir?
- 19. Paneldeki GWT parçacığını nasıl değiştirebilirim?
- 20. Nasıl Javascript'i çalıştırmak için Eclipse
- 21. Yay Verilerini ve Hazırda Bekletme'yi kullanırken arka plan iş parçacığını düzgün bir şekilde nasıl yaparım?
- 22. Sadece bir iş parçacığında çalışan birkaç 'iş parçacığı' nasıl işlenir
- 23. Bir Heroku Performance dyno'da çalıştırmak için doğru sayıda Puma işçileri ve iş parçacığı nasıl belirlerim?
- 24. Java'yı nasıl kullanıyorsunuz?
- 25. Bir kez çalıştırmak için bir foreach alma
- 26. Yerel bir SQLite veritabanına bağlanmak için İndüksiyon'u nasıl kullanıyorsunuz?
- 27. Bir Mac'in kablosuz arabirimlerini kapatmak için PyObjC'yi nasıl kullanıyorsunuz?
- 28. Başka bir program çalıştırmak için python kullanma?
- 29. Linux'ta C++/Qt içinde bir iş parçacığını tetiklemenin ve yapmanın en kolay yolu nedir?
- 30. Ana iş parçacığını engelleyen bir kod bulmanın en iyi yolu nedir?
Yukarıdaki kod, bir saniye sonra bir kere _only iş parçasında bir "Zamanlayıcı" görevini çalıştırır. Bir saniyede bir görev çalıştırmak için, bu aşırı yüklenmiş 'zamanlama' yöntemini kullanın: 'zamanlama (TimerTask görevi, uzun gecikme, uzun süre). Örneğin, 'timer.schedule (myTimerTask, 1000L, 2000L)', 1 saniyelik ilk gecikme sonrasında her 2 saniyede bir çalışan bir zamanlayıcı oluşturur. İşte [link] yönteminin linki (https://developer.android.com/reference/java/util/Timer.html#schedule (java.util.TimerTask, uzun, uzun)) [bağlantı] –
Bağlantı Yukarıdaki yorumda yanlış biçimlendirildi. İşte [Timer yöntemleri] için düzeltilmiş bağlantıdır (https://developer.android.com/reference/java/util/Timer.html) –