asyncio in Python 3.5: Wann zu verwenden und wann zu vermeiden
Wenn Sie mit Asyncio in Python 3.5 arbeiten. Warten Sie
warten für asynchrone Funktionen, die E/O -Operationen ausführen. Dies umfasst Funktionen, die auf das Dateisystem, das Netzwerk oder eine andere Ressource zugreifen, die die Ausführung der Ereignisschleife blockieren können. Durch die Erwartung wird die Aufgabe bis zum Abschluss der E/O -Operation durchgeführt, sodass die Ereignisschleife in der Zwischenzeit andere Aufgaben bearbeiten kann. Open_file (Dateiname)
Senden einer Anfrage über das Netzwerk: result = act send_request (data)
, wann vermeiden sollt
langen Synchronous-Operationen vermeiden. Asynchrone Funktionen. Dies kann die Ereignisschleife blockieren und verhindern, dass andere Aufgaben ausgeführt werden.
separates Prozess für lange synchrone Operationen: Wenn eine langlebige synchrone Operation erforderlich ist, kann es auf einen separaten Prozess verschoben werden, der die Ereignisschleifen für andere Aufgaben befreien kann. ThreadPoolexecutor für E/A -Operationen, die die Ereignisschleife nicht blockieren sollten (z. B. Anforderungen.get). Dies kann die Leistung verbessern, indem der Overhead vermieden wird, der mit ProcessPoolexecutor verbunden ist.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3