Concurrencia en Kotlin: de los fundamentos a los patrones avanzados
Concurrencia en Kotlin: de los fundamentos a los patrones avanzados
Resumen:
El libro «Concurrencia en Kotlin: de los fundamentos a los patrones avanzados» es una guía completa para crear aplicaciones rápidas, receptivas y escalables en el lenguaje Kotlin. Si escribes en Kotlin para Android, backend (Ktor, Spring WebFlux) o escritorio, este libro te ayudará a comprender la asincronía y el multiproceso a un nivel profundo.
¿De qué trata este libro?
El libro cubre el camino completo desde los conceptos básicos hasta los escenarios complejos de programación concurrente. Aprenderás:
- Fundamentos de concurrencia — en qué se diferencian los hilos de las corrutinas, cómo funciona el planificador (Dispatcher) y por qué las corrutinas son más ligeras que los hilos.
- Kotlin Coroutines — lanzamiento, cancelación, concurrencia estructurada, Scopes, Job y Deferred.
- Seguridad en hilos — variables atómicas, Mutex, Semaphore, ThreadLocal y trabajo con estado compartido.
- Canales (Channels) — Productor-Consumidor, fan-out, fan-in, canales ticker para transmisión de datos en flujo.
- Flow y Reactive Streams — flujos fríos y calientes, contrapresión (backpressure), operadores de transformación, StateFlow y SharedFlow.
- Patrones avanzados — Modelo Actor, Supervisor, CoroutineExceptionHandler, procesamiento paralelo con mapAsync y flatMapMerge.
- Pruebas de código concurrente — runTest, TestDispatcher, corrutinas mock y depuración de condiciones de carrera.
¿Para quién es este libro?
- Desarrolladores de Kotlin (Android, Backend, Multiplatform) que quieran escribir código asíncrono sin bloqueos.
- Juniors y mid-level que deseen sistematizar sus conocimientos sobre corrutinas y multiproceso.
- Programadores que migran de Java (CompletableFuture, Thread) al Kotlin moderno.
- Todos aquellos que quieran evitar condiciones de carrera, interbloqueos y fugas de memoria en aplicaciones concurrentes.
¿Qué aprenderás?
- Cómo lanzar y cancelar corrutinas correctamente sin provocar fugas.
- Cómo elegir entre Dispatchers.Default, IO, Main y Unconfined.
- Cómo construir cadenas reactivas con Flow y manejar errores en flujos.
- Cómo probar código asíncrono usando tiempo virtual.
- Cómo escribir servidores de alta carga y aplicaciones Android sin retrasos.
El libro contiene decenas de ejemplos prácticos, listos para usar en proyectos reales. Después de leerlo, podrás diseñar con confianza arquitecturas concurrentes y optimizar el rendimiento de tu código.
Nota: El libro está dirigido a lectores que ya conocen la sintaxis de Kotlin. Si estás empezando a aprender el lenguaje, se recomienda primero completar un curso básico.
Recommendations
TypeScript Efectivo
Código limpio en Rust: Principios y prácticas de programación idiomática
Concurrencia en Go: de lo básico a los patrones avanzados
Pruebas de aplicaciones PHP: desde pruebas unitarias hasta TDD
C# 10 y .NET 6: desarrollo multiplataforma moderno
TypeScript para programadores de JavaScript