Concurrencia en Kotlin: Programación asíncrona y multihilo
Concurrencia en Kotlin: Programación asíncrona y multihilo
Resumen:
El libro «Concurrencia en Kotlin» es una guía exhaustiva sobre programación asíncrona y multihilo en el lenguaje Kotlin. A diferencia de muchas otras publicaciones, este libro no solo presenta la sintaxis de las corrutinas, sino que enseña a pensar en el paradigma del código concurrente, evitar bloqueos y construir aplicaciones tolerantes a fallos.
De qué trata este libro
El autor desglosa progresivamente todos los niveles de concurrencia en Kotlin: desde los hilos clásicos de Java (Thread) hasta las corrutinas modernas, canales y Flow. Aprenderá:
- Fundamentos de JMM y hilos: cómo funciona la memoria, sincronización, volatile, tipos atómicos y pools de hilos.
- Corrutinas (Coroutines): construcción de hilos «verdes» ligeros, funciones suspend, Scopes y Dispatchers.
- Canales (Channels): intercambio de datos entre corrutinas, patrones fan-out/fan-in.
- Flow y flujos reactivos: flujos fríos y calientes, operadores, manejo de errores, contrapresión (backpressure).
- Concurrencia estructurada: cancelación y manejo de excepciones, SupervisorJob, CoroutineExceptionHandler.
- Pruebas: cómo escribir pruebas unitarias para código asíncrono, usar TestCoroutineDispatcher.
Para quién es este libro
El libro será útil para:
- Desarrolladores Java que migran a Kotlin (especialmente para Android y backend);
- Desarrolladores que ya escriben en Kotlin, pero desean comprender más a fondo las corrutinas y evitar errores típicos (por ejemplo, fugas de memoria o deadlocks);
- Estudiantes e ingenieros principiantes que aprenden enfoques modernos para la asincronía.
Para la lectura es suficiente un conocimiento básico de la sintaxis de Kotlin y una comprensión general de qué es un hilo. Todos los conceptos complejos (por ejemplo, «structured concurrency» o «backpressure») se explican desde cero.
Qué aprenderá después de la lectura
- Cómo elegir correctamente entre hilos y corrutinas en una tarea específica.
- Cómo diseñar una arquitectura de aplicación resistente a condiciones de carrera y bloqueos.
- Cómo usar Flow para el procesamiento asíncrono de datos (por ejemplo, carga de una lista con paginación).
- Cómo probar código asíncrono sin «sleep» ni tiempos de espera.
- Cómo trabajar con canales para organizar el procesamiento en pipeline.
El libro contiene más de 50 ejemplos prácticos y ejercicios con soluciones. Todos los ejemplos están escritos para Kotlin 1.9+ y son compatibles con las últimas versiones de corrutinas (1.7+).
Compre el libro «Concurrencia en Kotlin» en PythonLib — significa obtener no solo teoría, sino herramientas listas para crear aplicaciones rápidas y confiables en Kotlin.