Ho trovato che ci sono due modi (submit ed execute) per aggiungere un Runnable in un pool di thread, qual è la differenza?Qual è la differenza tra il metodo submit e execute con ThreadPoolExecutor
risposta
La differenza è che execute
non restituisce un Future
, quindi non è possibile attendere il completamento dello e ottenere qualsiasi eccezione lo usi.
Invia sembra essere una forma più generica di esecuzione. In particolare, submit restituisce un oggetto Future che rappresenta il risultato del calcolo.
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).
- 1. Differenza tra Execute, Submit e Invoke() in un ForkJoinPool
- 2. Qual è la differenza tra spark-submit e pyspark?
- 3. Qual è la differenza tra Future e FutureTask in Java?
- 4. Qual è la differenza tra un algoritmo e un metodo
- 5. Qual è la differenza tra? : e ||
- 6. Qual è la differenza tra il metodo string e il metodo str in Python?
- 7. Qual è la differenza tra ("") e (null)
- 8. Qual è la differenza tra dict() e {}?
- 9. Qual è la differenza tra Verilog! e ~?
- 10. Qual è la differenza tra l'inizializzazione con = e l'inizializzazione con {}?
- 11. qual è la differenza tra [[], []] e [[]] * 2
- 12. Qual è la differenza tra `##` e `hashCode`?
- 13. qual è la differenza tra:.! e: r !?
- 14. Qual è la differenza tra = e: =
- 15. Qual è la differenza tra $ e $$?
- 16. Qual è la differenza tra " " e ""?
- 17. Qual è la differenza tra {0} e ""?
- 18. Qual è la differenza tra {0} e +?
- 19. Qual è la differenza tra .ToString() e + ""
- 20. Qual è la differenza tra il callback e la promessa
- 21. Qual è la differenza tra AppDomain.CreateInstance e Activator.CreateInstance?
- 22. Qual è la differenza tra app.use e app.get con express.static?
- 23. qual è la differenza tra i modelli e il polimorfismo
- 24. Qual è la differenza tra require e include con php?
- 25. Qual è la differenza tra NSAutoreleasePool e il blocco @autoreleasepool?
- 26. Qual è la differenza tra il database MySQL e MariaDB?
- 27. Qual è la differenza tra tag e branch con git?
- 28. qual è la differenza tra "con" e "carico" in laravel
- 29. Qual è la differenza tra job.submit e job.waitForComplete in hadoop?
- 30. Qual è la differenza tra il panico e un assert?
'Future' consente anche di ottenere eccezioni generate da' Runnable'. – axtavt
@axtavt: Vero, suppongo che dovrei parlarne anche io. – ColinD