ejemplo - list callable java
Java-Future.get() invocaciones mĂșltiples (2)
No puedo encontrar nada en la documentación al respecto!
¿Los has leído? Porque cuando los leí obtuve la Respuesta y aquí está ...
V get() throws InterruptedException, ExecutionException
Espera si es necesario para que se complete el cálculo, y luego recupera su resultado.
Returns: the computed result Throws: CancellationException - if the computation was cancelled ExecutionException - if the computation threw an exception InterruptedException - if the current thread was interrupted while waiting
Si la Computación no se completa, esperará, y si ya se completó, devolverá el resultado CUANTO ANTES, sin importar cuántas veces lo llame
¿Cómo se comporta Future.get()
Java en el caso de que se llame varias veces después de completar la tarea? ¿Devuelve el mismo resultado? ¿O lanza una ExecutionException
una y otra vez con la misma excepción si el cálculo falla? No puedo encontrar nada en la documentación al respecto!
Puede llamar a get()
en un Future
con la frecuencia que desee, y solo se bloqueará si la tarea que produce el resultado aún no ha finalizado.
Si la tarea ya ha finalizado, inmediatamente devolverá el resultado de la tarea.
Si la tarea ha fallado con una excepción, llamar a get()
lanzará una ExecutionException
cada vez que la llame.