asyncio
— Asynkron I/O¶
asyncio är ett bibliotek för att skriva samtidig kod med hjälp av syntaxen async/await.
asyncio används som en grund för flera asynkrona Python-ramverk som ger högpresterande nätverks- och webbservrar, databasanslutningsbibliotek, distribuerade uppgiftsköer etc.
asyncio passar ofta perfekt för IO-bunden och högnivå strukturerad nätverkskod.
Se även
- En konceptuell översikt av asyncio
Förklaring av grunderna i asyncio.
asyncio tillhandahåller en uppsättning högnivå API:er för att:
Kör Python coroutines samtidigt och ha full kontroll över deras exekvering;
utföra nätverks-IO och IPC;
kontroll subprocesser;
fördela uppgifter via köer;
synkronisera samtidig kod;
Dessutom finns det API:er på lågnivå som biblioteks- och ramverksutvecklare kan använda:
skapa och hantera händelseslingor, som tillhandahåller asynkrona API:er för nätverk, körning av subprocesser, hantering av OS-signaler, etc;
implementera effektiva protokoll med hjälp av transports;
bridge callback-baserade bibliotek och kod med async/await-syntax.
Tillgänglighet: not WASI.
Den här modulen fungerar inte eller är inte tillgänglig på WebAssembly. Se WebAssembly-plattformar för mer information.
asyncio REPL
Du kan experimentera med en asyncio
samtidig kontext i 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'
Utlöser en auditing event cpython.run_stdin
utan argument.
Ändrad i version 3.12.5: (även 3.11.10, 3.10.15, 3.9.20 och 3.8.20) Ger upphov till granskningshändelser.
Ändrad i version 3.13: Använder PyREPL om möjligt, i vilket fall PYTHONSTARTUP
också körs. Ger upphov till granskningshändelser.
Referens
API:er på hög nivå
API:er på låg nivå
Guider och handledning
Anteckning
Källkoden för asyncio finns i Lib/asyncio/.