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öyleceTimer
ö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ş:
Nasıl görev önceliği Java 5'te bir Exe...
Java özel durumları görevler ExecutorS...
Timer ve TimerTask karşı Parçacığı Jav...
Evresel Java Ayarlar farklı...
Nasıl Java Genel bir yöntem statik yap...