Dino Geek, probeer je te helpen

Hoe de asyncio-module in Python te gebruiken?


Asyncio is een bibliotheek waarmee u asynchrone I/O kunt schrijven met behulp van coroutines en multiplexing. Dit is enorm handig voor verwerking van taken die veel I/O-tijd hebben, zoals verzoeken over het netwerk, omdat het programma andere dingen kan doen terwijl het wacht op de I/O-operatie om te voltooien.

Hier is een basisvoorbeeld van hoe de asyncio-module te gebruiken:

```
import asyncio

async def main(): print(‘Hello …’) await asyncio.sleep(1) print(‘… World!’)

  1. Python 3.7+
    asyncio.run(main())
    ```

In dit voorbeeld definiëren we een asynchrone functie met het async-def keyword. Binnen deze functie gebruiken we het await statement om te slapen voor een seconde. Het programma zal ‘Hello …’ afdrukken, een seconde wachten en vervolgens ‘… World!’ afdrukken.

Wanneer een functie wordt gedefinieerd met async def, wordt het een corutine function. Een aanroep aan een coroutine function geeft een coroutine object terug. Coroutine objecten moeten worden gewacht op, dit betekent dat u ze kunt wachten met een await-statement.

De functie `asyncio.run(coro, *, debug=False)` is een hulpprogramma voor het uitvoeren van een coroutine. Het moet worden gebruikt als hoofdingangspunt voor asyncio-programma’s, en moet idealiter slechts één keer per programmaloop worden uitgevoerd.

De `asyncio.sleep(delay, result=None, *, loop=None)` coroutine slaapt voor het opgegeven aantal seconden.

Asyncio wordt nog krachtiger wanneer je meerdere coroutines tegelijk uitvoert. Je kunt de asyncio.gather functie gebruiken om meerdere coroutines tegelijk uit te voeren:

```
import asyncio

async def count(): print(“One”) await asyncio.sleep(1) print(“Two”)

async def main(): await asyncio.gather(count(), count(), count())

asyncio.run(main())
```

In dit voorbeeld worden drie instanties van de count coroutine gelijktijdig uitgevoerd. De output zou ongeveer als volgt moeten zijn, hoewel de exacte volgorde kan variëren:

```
One
One
One
Two
Two
Two
```

Dat betekent dat alle drie tellen hun eerste lijn afdrukken, dan slapen ze allemaal een seconde op hetzelfde moment, en dan drukken ze hun tweede regel af. Je kunt zien dat de tijd om het programma uit te voeren minder is dan drie seconden, omdat de coroutines hun slaaptijd tegelijkertijd doorbrengen.

Het is belangrijk op te merken, in werkelijke toepassing, moet men aandacht besteden aan de behandeling van uitzonderingen wanneer het gebruik maken van asyncio.gather, omdat een uitzondering in een taak zal annuleren alle andere taken.


Genereer eenvoudig artikelen om uw SEO te optimaliseren
Genereer eenvoudig artikelen om uw SEO te optimaliseren





DinoGeek biedt eenvoudige artikelen over complexe technologieën

Wilt u in dit artikel worden geciteerd? Het is heel eenvoudig, neem contact met ons op via dino@eiki.fr

CSS | NodeJS | DNS | DMARC | MAPI | NNTP | htaccess | PHP | HTTPS | Drupal | WEB3 | LLM | Wordpress | TLD | Domeinnaam | 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 |






Juridische Vermelding / Algemene Gebruiksvoorwaarden