Dino Geek, intenta ayudarte

¿Cómo hacer programación asíncrona en Python?


La programación asíncrona en Python permite que puedas realizar otras tareas mientras esperas que termine una operación de I/O sin bloquear todo el programa. Esto se logra con un característica inmersa en Python llamada “coroutines”.

A partir de Python 3.5, las “coroutines” con async y await son la recomendación principal para realizar tareas asíncronas, aunque el framework asyncio ha estado en la biblioteca estándar desde Python 3.4.

En Python 3.7, async y await se volvieron palabras clave reservadas.

Aquí hay un ejemplo simple de cómo puedes usar async y await para definir una coroutine:

```python
import asyncio

async def main_function(): print(‘Hola’) # Esperar 1 segundo await asyncio.sleep(1) print(‘Mundo’)

asyncio.run(main_function())
```

‘asyncio.run(coro, *, debug=False)’, este método fue agregado en Python 3.7, siempre crea un nuevo bucle de eventos y cierra el bucle al final. No debe usarse cuando el bucle de eventos ya está en ejecución.

La declaración async def designa una función como una coroutines. Dentro de las coroutines, la palabra clave await se utiliza para hacer que la coroutines espere a que otra operación se complete. En este caso, asyncio.sleep(1) simula una operación de IO que se bloquearía en código sincrónico, pero en una coroutines se puede (y se debe) esperarla con await.

Para obtener información detallada sobre cómo escribir código asíncrono en Python, consulta la documentación de asyncio.

Es importante mencionar que este es un tema avanzado que pertenece al dominio de la programación concurrente, y como tal tiene una serie de sutilezas y trampas en las que es fácil caer. Así que si acabas de empezar en Python, te sugeriría que primero te sintieras cómodo con los conceptos básicos antes de avanzar a la programación asíncrona.


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