SORU
3 Ocak 2009, CUMARTESİ


Java Timer vs ExecutorService?

Ben bir görev java.util.timer programı kullanarak bir kod var. Etrafa bakıyordum ve ExecutorService aynı şeyi gördüm. Bu soru burada, Zamanlayıcı ve ExecutorService görevleri planlamak için kullanılır, Bir başka kullanmanın yararı nedir?

Ayrıca eğer biri Timer sınıfı kullanılır diye kontrol etmek istedim ve ExecutorService onlar için çözüldü herhangi bir sorun yaşandı.

CEVAP
3 Ocak 2009, CUMARTESİ


20* *göre:

  • Timer Saat, ScheduledThreadPoolExecutor değil sistem önemli değişiklikler olabilir.
  • Timer tek bir yürütme iş parçacığı vardır, uzun süren görev diğer görevler gecikme olabilir. ScheduledThreadPoolExecutor iş parçacığı herhangi bir sayı ile yapılandırılabilir. Eğer isterseniz ayrıca, oluşturulan iş parçacığı üzerinde tam kontrole sahip, (ThreadFactory sağlayarak).
  • Özel durumlar TimerTask atılan bir iş parçacığı, böylece Timer ölü kılıyor : - çalışma zamanı (yani zamanlanmış görevler artık çalışmayacak. ScheduledThreadExecutor sadece çalışma zamanı özel durumları yakalar değil, ama eğer isterseniz onları idare (ThreadPoolExecutor afterExecute yöntem geçersiz kılma) sağlar. Özel durum gönderdi hangi görev iptal edilir, ama diğer görevleri çalıştırmak için devam edecektir.

Eğer istersen ScheduledThreadExecutor yerine Timer bunu yapın.

ScheduledThreadExecutor Java mevcut olmasa da bir şey daha... 1.4 kütüphane, bir ScheduledThreadExecutor sınıfı olan Backport of JSR 166 (java.util.concurrent) to Java 1.2, 1.3, 1.4.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • adrianisen

    adrianisen

    25 Kasım 2009
  • My Name Is Jeff

    My Name Is J

    26 ŞUBAT 2008
  • TheOtherMau5

    TheOtherMau5

    6 Mart 2012