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

  • Jeremy Gallman

    Jeremy Gallm

    11 NİSAN 2012
  • RiceBunny

    RiceBunny

    16 ŞUBAT 2006
  • WestsideMrArO

    WestsideMrAr

    6 EKİM 2010