"asyncio" — Entrées/Sorties asynchrones
***************************************

======================================================================


Hello World !
^^^^^^^^^^^^^

   import asyncio

   async def main():
       print('Hello ...')
       await asyncio.sleep(1)
       print('... World!')

   # Python 3.7+
   asyncio.run(main())

*asyncio* est une bibliothèque permettant de faire de la programmation
asynchrone en utilisant la syntaxe *async*/*await*.

*asyncio* constitue la base de nombreux cadriciels (*frameworks*)
Python asynchrones qui fournissent des utilitaires réseau et des
serveurs web performants, des bibliothèques de connexion à des bases
de données, des files d'exécution distribuées, etc.

*asyncio* est souvent le bon choix pour écrire du code réseau de haut-
niveau et tributaire des entrées-sorties (*IO-bound*).

*asyncio* fournit des interfaces de programmation **haut-niveau** pour
:

* exécuter des coroutines Python de manière concurrente et d'avoir le
  contrôle total sur leur exécution ;

* effectuer des entrées/sorties réseau et de la communication inter-
  processus ;

* contrôler des sous-processus ;

* distribuer des tâches avec des queues ;

* synchroniser du code s'exécutant de manière concurrente ;

En plus, il existe des bibliothèques de **bas-niveau** pour que les
*développeurs de bibliothèques et de frameworks* puissent :

* créer et gérer des boucles d'événements, qui fournissent des
  bibliothèques asynchrones de "réseau", d'exécution de
  "subprocesses", de gestion de "signaux système", etc ;

* implémenter des protocoles efficaces à l'aide de transports ;

* lier des bibliothèques basées sur les fonctions de rappel et
  développer avec la syntaxe *async*/*await*.

-[ asyncio REPL ]-

You can experiment with an "asyncio" concurrent context in the REPL:

   $ python -m asyncio
   asyncio REPL ...
   Use "await" directly instead of "asyncio.run()".
   Type "help", "copyright", "credits" or "license" for more information.
   >>> import asyncio
   >>> await asyncio.sleep(10, result='hello')
   'hello'

Raises an auditing event "cpython.run_stdin" with no arguments.

Modifié dans la version 3.8.20: Emits audit events.

-[ Sommaire ]-

Bibliothèques de haut-niveau

* Coroutines et tâches

* Streams

* Synchronization Primitives

* Sous-processus

* Queues

* Exceptions

Bibliothèques de bas-niveau

* Boucle d'évènements

* Futurs

* Transports et Protocoles

* Stratégies

* Platform Support

Guides et tutoriels

* High-level API Index

* Low-level API Index

* Programmer avec *asyncio*

Note:

  Le code source d'"asyncio" est disponible dans Lib/asyncio/.
