SORU
21 EYLÜL 2009, PAZARTESİ


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
21 EYLÜL 2009, PAZARTESİ


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);

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Easy Learn Tutorial

    Easy Learn T

    10 Kasım 2012
  • Michael Zhang

    Michael Zhan

    8 EYLÜL 2012
  • Skrillex

    Skrillex

    6 NİSAN 2010