2010-10-25 12 views

risposta

30

La differenza è che execute non restituisce un Future, quindi non è possibile attendere il completamento dello e ottenere qualsiasi eccezione lo usi.

+4

'Future' consente anche di ottenere eccezioni generate da' Runnable'. – axtavt

+0

@axtavt: Vero, suppongo che dovrei parlarne anche io. – ColinD

14

Procedimento submit(...) è un'estensione quadro esecutore introdotto nel ExecutorService interfaccia.

sua principale differenza da execute(Runnable) è che submit(...) può accettare un Callable<V> (mentre execute() accetta solo Runnable) e restituisce un'istanza di Future<V>, che si può usare nel corso della chiamante di recuperare il risultato in modo asincrono (potenzialmente bloccare fino a quando il calcolo effettuato dal Callable è completato).

Problemi correlati