Encontré que hay dos formas (enviar y ejecutar) para agregar un Runnable en un grupo de subprocesos, ¿cuál es la diferencia?¿Cuál es la diferencia entre enviar y ejecutar el método con ThreadPoolExecutor
Respuesta
La diferencia es que execute
no devuelve un Future
, por lo que no puede esperar a la finalización de la Runnable
y obtener ninguna excepción se lanza usando eso.
Enviar parece ser una forma más genérica de ejecutar. En particular, submit devuelve un objeto Future que representa el resultado del cálculo.
El método submit(...)
es una extensión marco ejecutor introducido en ExecutorService
interfaz.
Su principal diferencia con respecto a execute(Runnable)
es que submit(...)
puede aceptar una Callable<V>
(mientras que execute()
sólo acepta Runnable
) y devuelve una instancia de Future<V>
, que se puede utilizar más adelante en la persona que llama para recuperar el resultado de forma asíncrona (potencialmente bloqueo hasta que el cálculo realizado por el Callable
se completa).
- 1. ¿Cuál es la diferencia entre ejecutar y hacer en Rx?
- 2. ¿Cuál es la diferencia entre un método y un selector?
- 3. ¿Cuál es la diferencia entre un método y una función?
- 4. ¿Cuál es la diferencia entre un algoritmo y un método
- 5. Cuál es la diferencia entre $ y jQuery
- 6. ¿cuál es la diferencia entre el método de cadena y el método str en Python?
- 7. diferencia entre ajax y enviar
- 8. ¿cuál es la diferencia entre el complemento y la biblioteca?
- 9. ¿cuál es la diferencia entre:.! y: r !?
- 10. ¿Cuál es la diferencia entre dict() y {}?
- 11. ¿Cuál es la diferencia entre .ToString (+) y ""
- 12. ¿Cuál es la diferencia entre "$^N" y "$ +"?
- 13. Cuál es la diferencia entre $ (...) y `...`
- 14. ¿Cuál es la diferencia entre `##` y `hashCode`?
- 15. ¿Cuál es la diferencia entre {0} y ""?
- 16. Cuál es la diferencia entre = y: =
- 17. ¿Cuál es la diferencia entre ".equals" y "=="?
- 18. ¿Cuál es la diferencia entre [indefinido] y [,]?
- 19. ¿Cuál es la diferencia entre + = y = +?
- 20. ¿Cuál es la diferencia entre " " y ""?
- 21. ¿Cuál es la diferencia entre el mango y el hilo?
- 22. ¿Cuál es la diferencia entre el
- 23. ¿cuál es la diferencia entre la lex y yacc
- 24. ¿Cuál es la diferencia entre JSON y AJAX con jQuery?
- 25. ¿Cuál es la diferencia entre el NSImage y el UIImage?
- 26. ¿Cuál es la diferencia entre el tenedor y el hilo?
- 27. ¿cuál es la diferencia entre el objetivo y el proyecto?
- 28. Backbone.Js - ¿Cuál es la diferencia entre el y $ el?
- 29. ¿Cuál es la diferencia entre el JSP y el JSTL?
- 30. ¿Cuál es la diferencia entre el colado y la coerción?
'Future' también le permite obtener excepciones lanzadas por' Runnable'. – axtavt
@axtavt: Cierto, supongo que debería mencionar eso también. – ColinD