asyncio
--- Asynchronous I/O¶
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 :
create and manage event loops, which provide asynchronous APIs for networking, running subprocesses, handling OS signals, 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.
Availability: not WASI.
This module does not work or is not available on WebAssembly. See Plateformes WebAssembly for more information.
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'
Lève un évènement d'audit cpython.run_stdin
sans argument.
Modifié dans la version 3.12.5: (also 3.11.10, 3.10.15, 3.9.20, and 3.8.20) Emits audit events.
Modifié dans la version 3.13: Uses PyREPL if possible, in which case PYTHONSTARTUP
is
also executed. Emits audit events.
Sommaire
Note
Le code source d'asyncio
est disponible dans Lib/asyncio/.