SORU
14 EKİM 2010, PERŞEMBE


Arasında'in ve'In idam gönder ExecutorService ExecutorService seçin

Merak ediyordum, submit ExecutorService arasında seçmeliyim nasıl ya dönen değeri execute, beni ilgilendirmez? Eğer her iki test yapıp, dönen değeri dışında ikisi arasında herhangi bir fark göremedim.

    ExecutorService threadExecutor = Executors.newSingleThreadExecutor();
    threadExecutor.execute(new Task());

    ExecutorService threadExecutor = Executors.newSingleThreadExecutor();
    threadExecutor.submit(new Task());

CEVAP
21 EKİM 2010, PERŞEMBE


Bir fark hariç/hata işleme ile ilgili.

Throwable bazı üreten bir görev execute() sırada Thread görevi çalıştırmak için UncaughtExceptionHandler çağrılmasına neden olur. Varsayılan genellikle Throwable System.err, yığın izleme yazdıran UncaughtExceptionHandler eğer hiçbir özel işleyici yüklü çağrılacak.

Diğer taraftan, Throwable görev submit() ile sıraya tarafından oluşturulan 15* *çağrı üretilen Future Throwable bağlanacaktır. Bu konuda get() Future arama sebebine (ExecutionException getCause() arayarak erişilebilir) olarak orijinali ile ExecutionException Throwable bir durum oluşturur.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • colacas

    colacas

    29 EKİM 2006
  • CrazyMan

    CrazyMan

    14 Mayıs 2008
  • TouchePro

    TouchePro

    27 EYLÜL 2007