Dino Geek, intenta ayudarte

¿Cómo usar el módulo asyncio en Python?


`asyncio` es una biblioteca de Python que se usa para programación asincrónica, introducida en Python 3.4, que permite la ejecución de código de manera concurrente utilizando corutinas, multiplexación de E/S, y entre otras cosas.

Aquí hay un ejemplo básico de cómo usar asyncio para manejar tareas asíncronas:

```python
import asyncio

  1. Definimos una coroutine.
  2. Nota: Una coroutine se parece a una función normal pero se comporta como un generador.
    async def say_hey(delay, what): await asyncio.sleep(delay) print(what)
  1. Creamos una lista de tareas a ejecutar
    tasks = [ asyncio.ensure_future(say_hey(1, ‘Hola’)), #se ejecuta después de 1 segundo asyncio.ensure_future(say_hey(2, ‘Mundo’)) #se ejecuta después de 2 segundos
    ]
  1. Iniciamos el bucle de eventos
    loop = asyncio.get_event_loop()
  1. Ejecutamos las tareas y las detenemos cuando todas hayan terminado
    loop.run_until_complete(asyncio.gather(*tasks))
  1. Cerramos el bucle
    loop.close()
    ```
    En este código, se define una función asíncrona llamada `say_hey` que espera un tiempo específico, luego imprime un mensaje. Entonces, creamos un par de tareas basadas en eso, y las ejecutamos en el bucle de eventos de asyncio. El bucle de eventos es el núcleo de todas las operaciones asyncio.

A partir de Python 3.7, la forma recomendada de ejecutar tareas asyncio se simplificó con `asyncio.run()`:

```python
import asyncio

async def say_hey(delay, what): await asyncio.sleep(delay) print(what)

async def main(): task1 = say_hey(1, ‘Hola’) task2 = say_hey(2, ‘Mundo’)

await asyncio.gather(task1, task2)

asyncio.run(main())
```

`asyncio.run()` crea un bucle de eventos, ejecuta la coroutine pasada y cierra el bucle. La función `asyncio.gather()` se utiliza para programar varias corutinas para que se ejecuten de manera concurrente.


Genera artículos simplemente para optimizar tu SEO
Genera artículos simplemente para optimizar tu SEO





DinoGeek ofrece artículos sencillos sobre tecnologías complejas

¿Desea ser citado en este artículo? Es muy sencillo, contáctenos en dino@eiki.fr.

CSS | NodeJS | DNS | DMARC | MAPI | NNTP | htaccess | PHP | HTTPS | Drupal | WEB3 | LLM | Wordpress | TLD | Nombre de dominio | IMAP | TCP | NFT | MariaDB | FTP | Zigbee | NMAP | SNMP | SEO | E-Mail | LXC | HTTP | MangoDB | SFTP | RAG | SSH | HTML | ChatGPT API | OSPF | JavaScript | Docker | OpenVZ | ChatGPT | VPS | ZIMBRA | SPF | UDP | Joomla | IPV6 | BGP | Django | Reactjs | DKIM | VMWare | RSYNC | Python | TFTP | Webdav | FAAS | Apache | IPV4 | LDAP | POP3 | SMTP

| Whispers of love (API) | Déclaration d'Amour |






Aviso legal / Condiciones generales de uso