¿Qué son las coroutines o corrutinas en Kotlin?

Contenido del Bootcamp Dirigido por: | Última modificación: 30 de mayo de 2024 | Tiempo de Lectura: 2 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

¿Ya sabes qué son las coroutines o corrutinas en Kotlin? Si perteneces al sector del desarrollo mobile, es probable que ya conozcas o hayas trabajado con el lenguaje Kotlin, enfocado en el desarrollo de aplicaciones para Android, para lo que hace uso de componentes como las llamadas corrutinas o coroutines. Estas se entienden como instancias de computación suspendible y de gran utilidad en el sistema.

¿Qué son las corrutinas en Kotlin?

Las llamadas coroutines o corrutinas en Kotlin son opciones a cargo de proporcionar una manera sencilla de programar, por lo que se trata de un patrón de diseño de simultaneidad que puede implementarse para los dispositivos con sistema operativo de Android con el fin de simplificar el código.

Cabe destacar que las corrutinas en Kotlin requieren un bloque de código para llevar a cabo la ejecución que funciona de manera simultánea con el resto del código. Estos recursos no se encuentran asociados o vinculados a algún hilo de forma particular, por lo que es posible realizar la suspensión de su ejecución en un hilo y reanudarlo en otro.

Así pues, estas herramientas resaltan por su utilidad para dar paso a la programación de tipo asíncrona, al tiempo que ofrecen posibilidades relevantes, como lo son la concurrencia y los actors.

Características de las coroutines en Kotlin

🔴 ¿Quieres entrar de lleno al Desarrollo Mobile? 🔴

Descubre el Desarrollo de Apps Móviles Full Stack Bootcamp de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp en Desarrollo de Apps Móviles por una semana

Dentro de las características de las coroutines en Kotlin, se encuentra que pueden ejecutarse en formato paralelo, comunicarse y esperarse entre sí.

Aunque estas propiedades son compartidas con los hilos, una corrutina se diferencia por su bajo coste, por lo que es posible crear una gran cantidad de estas, asumiendo un precio bajo en términos de rendimiento.

Como característica de las llamadas coroutines en Kotlin se encuentra también que siguen un principio de concurrencia estructurada, lo que quiere decir que las nuevas corrutinas solo pueden ser lanzadas en un CorouineScope determinado, que se hace cargo de la delimitación de la vida útil de este componente.

Asimismo, es posible entender las corrutinas en Kotlin como pequeñas unidades de ejecución asignada a un hilo en el sistema, que, además, no tiene limitaciones, por lo que se puede dar inicio a tantos de este recurso como se necesite. Las coroutines en Kotlin se caracterizan también por poder incluir corrutinas dentro de sí.

Estas opciones pueden ser iniciadas o suspendidas en cualquier momento, con lo que se tienen opciones especiales como el retardo, que suspende la coroutine durante un periodo determinado. Es importante tener en cuenta que esta suspensión no bloquea al hilo que subyace, pero sí permite que otras corrutinas en Kotlin sean ejecutadas y hagan uso de este hilo para su código.

Las corrutinas resultan también de gran utilidad gracias a su contribución a la gestión de tareas de larga duración, que, de lo contrario, podría ocasionar un bloqueo del subproceso principal o una suspensión temporal de la aplicación.

En este artículo has podido conocer todo lo que tiene que ver con el recurso de coroutines o corrutinas en Kotlin, incluyendo sus características de mayor relevancia. Ahora, anímate a dar un paso más en tu proceso de aprendizaje y apúntate en nuestro Curso de Kotlin o a nuestro Desarrollo de Apps Móviles Full Stack Bootcamp, donde en pocos meses podrás conocer todo lo que se debe saber para convertirte en un verdadero experto y destacar frente a tu competencia. ¡Matricúlate ahora y no dejes de aprender!

Posts más leídos

¡CONVOCATORIA ABIERTA!

Desarrollo de apps móviles ios & Android

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado