Concurrencia en Java Parte 5

Hola,
Comparto la quinta parte de un tutorial que cree del API de concurrencia en Java, para quien le interese.

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de ezamudio

Futures

Los  s son muy útiles cuando necesitas coordinar entre partes síncronas y asíncronas de una aplicación (por ejemplo un web service que a su vez utiliza un servicio asíncrono).

Los cached thread pools son más eficientes que los thread pools de tamaño fijo, si les configuras algunos parámetros a mano. Por ejemplo en vez de tener un thread pool fijo de 10 hilos, puedes definir un cached thread pool que utilice máximo 10 hilos, y con un timeout razonable para matar los hilos inactivos, se porta casi igual que el fijo, con la gran diferencia de que en ratos de inactividad no están esos 10 hilos corriendo, y además si nunca se requieren los 10 hilos pues simplemente nunca se van a crear (sólo se crean los que se necesitan). Pero para llegar a tener una configuración óptima es necesario monitorearlos, ver cuántos hilos tienen activos y cuántas tareas hay encoladas (y durante cuánto tiempo se queda encolada una tarea hasta que llega a ser ejecutada).