asyncio — Asynchrones I/O¶
asyncio ist eine Bibliothek zum Schreiben von konkurrierendem Code mit der async/await-Syntax.
asyncio wird als Grundlage für mehrere asynchrone Python-Frameworks verwendet, die Hochleistungs-Netzwerk- und Webserver, Datenbankverbindungsbibliotheken, verteilte Aufgabenwarteschlangen usw. bereitstellen.
asyncio ist oft perfekt für E/A-gebundenen und High-Level strukturierten Netzwerkcode.
Siehe auch
- Ein konzeptioneller Überblick über asyncio
Erklärung der Grundlagen von asyncio.
asyncio bietet eine Reihe von High-Level-APIs zum
gleichzeitigen Ausführen von Python-Coroutinen und vollständige Kontrolle über deren Ausführung;
Durchführen von Netzwerk-E/A und IPC;
Steuern von Subprozessen;
Verteilen von Aufgaben über Warteschlangen;
Synchronisieren von konkurrierendem Code;
Zusätzlich gibt es Low-Level-APIs für Bibliotheks- und Framework-Entwickler zum
Erstellen und Verwalten von Ereignisschleifen, die asynchrone APIs für Netzwerkkommunikation, Ausführen von Subprozessen, Verarbeiten von Betriebssystemsignalen usw. bereitstellen;
Implementieren effizienter Protokolle unter Verwendung von Transportschichten;
Überbrücken von Callback-basierten Bibliotheken und Code mit async/await-Syntax.
Verfügbarkeit: nicht WASI.
Dieses Modul funktioniert nicht oder ist nicht auf WebAssembly verfügbar. Weitere Informationen finden Sie unter WebAssembly-Plattformen.
asyncio REPL
Sie können einen asynchronen Kontext mit asyncio in der REPL ausprobieren
$ 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öst ein Audit-Ereignis cpython.run_stdin ohne Argumente aus.
Geändert in Version 3.12.5: (auch 3.11.10, 3.10.15, 3.9.20 und 3.8.20) Sendet Audit-Ereignisse.
Geändert in Version 3.13: Verwendet PyREPL, falls möglich, in diesem Fall wird auch PYTHONSTARTUP ausgeführt. Sendet Audit-Ereignisse.
Referenz
High-Level APIs
Low-Level APIs
Anleitungen und Tutorials
Hinweis
Der Quellcode für asyncio ist in Lib/asyncio/ zu finden.