Capítulo 81. Pensar en Coroutines

Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com

Dawn Griffiths y David Griffiths

Las coroutines son funciones o métodos que pueden suspenderse y reanudarse. En Kotlin, pueden utilizarse en lugar de hilos para el trabajo asíncrono, porque muchas coroutines pueden ejecutarse eficientemente en un solo hilo.

Para ver cómo funcionan las coroutines, vamos a crear un programa de ejemplo que reproduzca estas secuencias de batería en paralelo:

Instrumento Secuencia
Toms x-x-x-x-x-x-x-x-
Sombrero alto x-x-x---x-x-x---
Plato crash ----------------x----

Podríamos utilizar hilos para hacer esto, pero en la mayoría de los sistemas, el sonido es reproducido por el subsistema de sonido, mientras el código hace una pausa hasta que pueda reproducir el siguiente sonido. Es un desperdicio bloquear un recurso valioso como un hilo de esta manera.

En su lugar, vamos a crear un conjunto de coroutines: una para cada uno de los instrumentos. Tendremos un método llamado playBeats, que toma una secuencia de percusión y el nombre de un archivo de sonido. El código completo está en https://oreil.ly/6x0GK; una versión simplificada tiene este aspecto:

 suspend fun playBeats(beats: String, file: ...

Get 97 cosas que todo programador Java debe saber now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.