Las coroutines en Kotlin vienen a tratar de solucionar todos los problemas y dificultades que presentaban los Thread
en Java, ya que la realidad es que hoy día es la programación asíncrona o non-blocking. Se pueden considerar como hilos livianos.
Las corrutinas no forman, al completo, parte de Kotlin, por lo que tendrás que incluirlas en tu proyecto con la siguiente dependencia:
Si quieres usarlas con Android:
Comprueba la última versión directamente en el GitHub de Kotlin o en el Maven Repository.
En este artículo en inglés podrás aprender bastante sobre qué es programación asíncrona y la diferencia entre concurrencia y paralelismo, algo que iremos tratando a lo largo de los diferentes artículos sobre las corrutinas.
También nos facilitarán poder utilizar patrones de diseño asíncronos.
Enlaces de Interés: