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
Patricia Arquetteoriginal
2024-11-30 06:38:12871parcourir

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

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())

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!

Déclaration:
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