Concurrencia en Java: j.u.c y sus mecanismos de bloqueo
La paquete java.util.concurrent, abreviado comúnmente como j.u.c, es un componente fundamental de la programación concurrente en Java. Una inspección de su API revela que se compone de tres módulos principales.
Mecanismos de bloqueo
En el desarrollo concurrente con Java, existen dos enfoques para implementar bloqueos:
Bloqueo intrínseco (implí ...
Publicado el 7-3 19:45
Fundamentos de la concurrencia en Java: el marco AQS y el ciclo de vida de los hilos
El estudio del paquete java.util.concurrent (j.u.c.) en Java nos conduce inevitablemente al framework AQS (AbstractQueuedSynchronizer). Su diseño es tan elegante que ha sido objeto de estudio y elogio. Para comprender AQS a fondo, es esencial primero sentar unas bases sólidas sobre los hilos (threads), ya que conceptos erróneos o simplificados ...
Publicado el 6-20 01:19
Errores de Memoria por Uso Inadecuado de Hilos en Java
Este artículo analiza un incidente de producción causado por el uso incorrecto de ExecutorCompletionService, lo que llevó a un OutOfMemoryError (OOM). Se detallan el problema, su causa raíz, y se comparan las implementaciones con ExecutorService para comprender mejor el escenario de uso adecuado de ExecutorCompletionService.
Resumen del Inciden ...
Publicado el 6-10 19:32
Configuración óptima de grupos de hilos en Java para concurrencia eficiente
En el desarrollo actual con frameworks como Tomcat o Dubbo, los grupos de hilos son esenciales. Una pregunta recurrente es: ¿cuántos hilos configurar? Una configuración arbitraria no solo puede ser ineficaz, sino contraproducente. Este análisis profundiza en la ciencia y mejores prácticas detrás de los parámetros de ThreadPoolExecutor.
El caso ...
Publicado el 5-29 16:09