Plattformsstöd

Modulen asyncio är utformad för att vara portabel, men vissa plattformar har subtila skillnader och begränsningar på grund av plattformarnas underliggande arkitektur och kapacitet.

Alla plattformar

Windows

Källkod: Lib/asyncio/proactor_events.py, Lib/asyncio/windows_events.py, Lib/asyncio/windows_utils.py


Ändrad i version 3.8: I Windows är ProactorEventLoop nu standardhändelseslingan.

Alla händelseslingor i Windows stöder inte följande metoder:

SelectorEventLoop har följande begränsningar:

ProactorEventLoop har följande begränsningar:

Upplösningen för den monotona klockan i Windows är vanligtvis cirka 15,6 millisekunder. Den bästa upplösningen är 0,5 millisekunder. Upplösningen beror på maskinvaran (tillgång till HPET) och på Windows-konfigurationen.

Stöd för underprocesser i Windows

I Windows har standardhändelseslingan ProactorEventLoop stöd för underprocesser, medan SelectorEventLoop inte har det.

macOS

Moderna macOS-versioner stöds fullt ut.

macOS <= 10.8

På macOS 10.6, 10.7 och 10.8 använder standardhändelseslingan selectors.KqueueSelector, som inte stöder teckenenheter på dessa versioner. Händelseslingan SelectorEventLoop kan konfigureras manuellt så att den använder SelectSelector eller PollSelector för att stödja teckenenheter i dessa äldre versioner av macOS. Exempel:

import asyncio
import selectors

selector = selectors.SelectSelector()
loop = asyncio.SelectorEventLoop(selector)
asyncio.set_event_loop(loop)