Saltar al contenido
uencoder

Coroutine

Una corrutina es una función que puede suspenderse y reanudarse, conmutando de forma cooperativa sin planificación del SO, más ligera que un hilo.

Propósito

Escribir código asíncrono con sintaxis de estilo síncrono, más intuitivo que callbacks/Promises.

Mecanismo

Una corrutina se suspende (yield/await), devolviendo el control al llamador, y se reanuda desde el punto de suspensión. Sin la sobrecarga del cambio de hilo del SO, un solo hilo puede ejecutar millones de corrutinas. Python async/await, goroutine de Go, JS async/await.

Casos de uso

  • Programación asíncrona
  • Alta concurrencia
  • Planificación ligera

Términos relacionados

References