Timer ve TimerTask karşı Parçacığı Java uyku
Benzer bir soru sordu buldum ama beni tatmin cevapları yoktu. Yine . soru betimleme yani
Periyodik olarak yapılan (1 dakikalık aralıklarla) söylemek gereken bir görev var. Timertask & Zamanlayıcı uyku ile sonsuz bir döngüye sahip yeni bir iş parçacığı oluşturma aksine bunu yapmak için kullanmanın avantajı nedir?
Kod parçacığını kullanarak timertask-
TimerTask uploadCheckerTimerTask = new TimerTask(){
public void run() {
NewUploadServer.getInstance().checkAndUploadFiles();
}
};
Timer uploadCheckerTimer = new Timer(true);
uploadCheckerTimer.scheduleAtFixedRate(uploadCheckerTimerTask, 0, 60 * 1000);
Kod parçacığı iş Parçacığı kullanarak ve uyku
Thread t = new Thread(){
public void run() {
while(true) {
NewUploadServer.getInstance().checkAndUploadFiles();
Thread.sleep(60 * 1000);
}
}
};
t.start();
Gerçekten varsa Eğer bu mantık yürütme daha fazla zaman aralığı alırsa belirli döngüleri unutursam endişelenmenize gerek yok.
Bu.. yorum lütfen
Teşekkürler
-Keshav
Güncelleme:
Son zamanlarda kullanarak Zamanlayıcı karşı Parçacığı arasında bir fark buldum.() uyku. Geçerli sistem saatini sanırım 11:00. Biz nedense saat 10:00 ile geri alma sistemi saat, Zamanlayıcı iş Parçacığı ise 11:00, ulaşana kadar görev durur.() uyku yöntemi engel olmadan görev yürütme devam eder. Bu ikisi arasında kullanmak için ne karar önemli karar verici olabilir.
CEVAP
TimerTask avantajı niyetinizi çok iyi ifade etmesidir (yani kod okunabilirliği), ve zaten iptal etti() özellik ekledi.
Kendi örnek olarak: kısa bir biçimde yazılmış olabilir unutmayın
Timer uploadCheckerTimer = new Timer(true);
uploadCheckerTimer.scheduleAtFixedRate(
new TimerTask() {
public void run() { NewUploadServer.getInstance().checkAndUploadFiles(); }
}, 0, 60 * 1000);
Sistem.Zamanlayıcılar.Timer vs Sistemi...
zaman.uyku -- parçacığı veya İşlem uyu...
Java nasıl bir iş parçacığı öldürüyors...
Java ile farklı sonuçlar's digest...
Nasıl / Duraklat Android parçacığı vey...