example ejemplo concurrent java future

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.