Maison > développement back-end > Tutoriel Python > Programmation asynchrone Python : simplifier la concurrence comme un pro

Programmation asynchrone Python : simplifier la concurrence comme un pro

Patricia Arquette
Libérer: 2024-11-30 06:38:12
original
853 Les gens l'ont consulté

Python Asynchronous Programming: Simplifying Concurrency Like a Pro

Intro : Pourquoi passer à l'asynchrone ?

Vous en avez assez d'attendre la fin de tâches lentes ? La programmation asynchrone permet à Python de gérer plusieurs tâches sans blocage, ce qui rend votre code plus rapide et plus réactif. Plongeons-nous dans async, wait et asyncio, vos nouveaux meilleurs amis pour la concurrence.


Concepts de base

  1. Fonctions asynchrones

    Transformez une fonction régulière en une coroutine capable de faire une pause et de reprendre.

  2. attendre le mot clé

    Vous permet de suspendre une coroutine jusqu'à ce qu'une tâche soit terminée, libérant ainsi la boucle d'événements pour exécuter d'autres tâches.

  3. Boucle d'événement

    Le patron de la concurrence qui planifie et exécute les coroutines.


Exemple : Exécution de tâches asynchrones

import asyncio

async def fetch_data():
    await asyncio.sleep(2)  # Simulates a delay
    return "Data Retrieved"

async def main():
    print(await fetch_data())

asyncio.run(main())  # Outputs: Data Retrieved
Copier après la connexion

La concurrence simplifiée

Exécuter des tâches simultanément avec asyncio.gather :

async def task(name, delay):
    await asyncio.sleep(delay)
    print(f"Task {name} completed!")

async def main():
    await asyncio.gather(
        task("A", 2),
        task("B", 1),
        task("C", 3)
    )

asyncio.run(main())
Copier après la connexion

Ici, les tâches se terminent en fonction de leurs retards, sans se bloquer.


Réflexions finales : Python plus rapide et plus intelligent

La programmation asynchrone apporte une efficacité inégalée à Python. Avec async et wait, vous gérerez les tâches simultanées comme un pro : plus rapide, plus simple et plus fluide.
? Bravo pour l’écriture de code non bloquant et ultra-rapide !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal