Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Comprensión de la Programación Asíncrona | Programación asíncrona
Programación Estructural en Python

Comprensión de la Programación Asíncrona

Desliza para mostrar el menú

Asynchronous programming es una forma de escribir programas que pueden manejar muchas tareas aparentemente al mismo tiempo, sin esperar a que cada tarea termine antes de comenzar la siguiente. Esto es especialmente útil para tareas que pasan mucho tiempo esperando, como leer archivos, realizar solicitudes de red o interactuar con bases de datos. En lugar de bloquear tu programa mientras espera que una tarea se complete, la programación asíncrona permite que tu código continúe ejecutando otras tareas.

En el núcleo del modelo de programación asíncrona de Python se encuentra el bucle de eventos. El bucle de eventos es responsable de gestionar y programar las tareas que están listas para ejecutarse. Lleva un seguimiento de todas las tareas, verifica cuáles están esperando algo (como una entrada o un temporizador) y ejecuta las que están listas. Esto permite que tu programa avance en múltiples tareas sin la necesidad de múltiples hilos o procesos.

Un componente clave de la programación asíncrona en Python es la corrutina. Las corrutinas son funciones especiales definidas con async def. Pueden pausar su ejecución en ciertos puntos usando la palabra clave await, que indica al bucle de eventos que ejecute otras tareas mientras espera que algo termine. Cuando la operación esperada se completa, el bucle de eventos reanuda la corrutina justo donde se detuvo.

Al utilizar el bucle de eventos y las corrutinas, puedes escribir código eficiente y receptivo, especialmente para programas dependientes de operaciones de entrada/salida. Este enfoque es diferente al uso tradicional de hilos o multiprocesamiento porque evita la sobrecarga de crear múltiples hilos o procesos, y en su lugar depende del bucle de eventos para gestionar cuándo se ejecuta cada tarea.

import asyncio

async def greet_after_delay():
    print("Hello...")
    await asyncio.sleep(2)  # Pause here, let event loop run other tasks
    print("...world!")

# To actually run the coroutine, you need to use the event loop:
asyncio.run(greet_after_delay())

Salida:

Hello...
...world!
question mark

¿Cuál de las siguientes opciones describe mejor el papel del bucle de eventos en la programación asíncrona de Python?

Selecciona la respuesta correcta

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 4. Capítulo 1

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Sección 4. Capítulo 1
some-alt