Plattformunterstützung

Das Modul asyncio ist portabel konzipiert, aber einige Plattformen weisen subtile Unterschiede und Einschränkungen auf, die auf der zugrunde liegenden Architektur und den Fähigkeiten der Plattformen beruhen.

Alle Plattformen

Windows

Quellcode: Lib/asyncio/proactor_events.py, Lib/asyncio/windows_events.py, Lib/asyncio/windows_utils.py


Geändert in Version 3.8: Unter Windows ist ProactorEventLoop nun die Standard-Event-Schleife.

Alle Event-Schleifen unter Windows unterstützen die folgenden Methoden nicht

SelectorEventLoop hat die folgenden Einschränkungen

ProactorEventLoop hat die folgenden Einschränkungen

Die Auflösung der monotonen Uhr unter Windows beträgt normalerweise etwa 15,6 Millisekunden. Die beste Auflösung beträgt 0,5 Millisekunden. Die Auflösung hängt von der Hardware (Verfügbarkeit von HPET) und von der Windows-Konfiguration ab.

Unterstützung für Subprozesse unter Windows

Unter Windows unterstützt die Standard-Event-Schleife ProactorEventLoop Subprozesse, während SelectorEventLoop dies nicht tut.

macOS

Moderne macOS-Versionen werden vollständig unterstützt.

macOS <= 10.8

Unter macOS 10.6, 10.7 und 10.8 verwendet die Standard-Event-Schleife selectors.KqueueSelector, der Zeichengeräte (character devices) in diesen Versionen nicht unterstützt. Die SelectorEventLoop kann manuell konfiguriert werden, um SelectSelector oder PollSelector zu verwenden, um Zeichengeräte in diesen älteren macOS-Versionen zu unterstützen. Beispiel

import asyncio
import selectors

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