Speziell die GreenPool-Klasse in Eventlet. Ich habe Code getestet, um große Dateien in S3 als einzelne Teile eines mehrteiligen Uploads hochzuladen. Was ich bisher bemerkt habe ist, dass bei Verwendung von eventlet die CPU-Auslastung viel geringer ist. Suchen Sie einfach nach anderen Vor- und Nachteilen für das Eventlet, anstatt nur Threading zu verwenden. Vielen Dank.Welche Vorteile bietet die Verwendung des Eventlet-Moduls in Python gegenüber dem Threading-Modul?
Q
Welche Vorteile bietet die Verwendung des Eventlet-Moduls in Python gegenüber dem Threading-Modul?
10
A
Antwort
9
Grundsätzlich sind Eventlet grüne Fäden ein leichtes Analogon von OS-Threads für alle praktischen Zwecke in Betracht gezogen werden. Pro:
- billiger zu schaffen, in Bezug auf die CPU, den Speicher und syscalls (0)
- billiger zu schalten; Dies gilt besonders in Python 2.x, wo jeder Thread aktiv versucht, GIL zu greifen, was CPU verschwendet.
Nachteile:
- wichtig da viele grüne Threads innerhalb eines OS-Thread arbeiten, wenn ein Systemaufruf (z open (2)) in einer von ihnen blockiert OS-Thread, alle grünen Fäden sind auch blockiert.
- kein SMP (MultiCPU/Multi-Core); aber dann mit GIL gilt dies auch für OS-Threads in Python. Mit greenlet [1] ist diese Einschränkung strenger, da es für einige C-Erweiterungen nicht möglich ist, GIL freizugeben, damit andere grüne Threads fortfahren können.
Sie auch diese Antwort nützlich finden können: Is a greenthread equal to a "real" thread
[1] "Einfädeln" Bibliothek von Eventlet https://github.com/python-greenlet/greenlet
verwendetVerwandte Themen
- 1. Welche Vorteile bietet Sass gegenüber normalem CSS?
- 2. Welche Vorteile bietet WCF gegenüber ASMX-Webdiensten?
- 3. Welche Vorteile bietet die Verwendung der Aktionsleiste anstelle des Standardlayouts?
- 4. Welche Vorteile bietet ODBC gegenüber einer bestimmten RDBMS-API?
- 5. Welche Vorteile bietet ein MSI-Installationsprogramm gegenüber einer Standard-setup.exe?
- 6. Welche Vorteile bietet die Verwendung einer Schnittstelle in C#?
- 7. Bietet Pthreads irgendwelche Vorteile gegenüber GCD?
- 8. Welche Vorteile bietet die Verwendung von BIO_printf() anstelle von printf()?
- 9. Welche Vorteile bietet die Python-Bibliothek/Anwendung als .egg-Datei?
- 10. Welche Vorteile bietet die interne Verwendung von Eigenschaften?
- 11. Welche Vorteile bietet die Verwendung von jQuery UI über Plugins?
- 12. Welche Vorteile bietet Spring Data neo4j gegenüber der direkten Verwendung von neo4j?
- 13. Welche Vorteile bietet der Windows-Zertifikatspeicher?
- 14. Welche Vorteile bietet Liquibase für Datenbankmigrationen?
- 15. Welche Vorteile bietet die Verwendung der vorkompilierten statischen Bibliothek direkt einschließlich des Quellcodes?
- 16. Was sind die Vorteile von concurrent.futures gegenüber Multiprocessing in Python?
- 17. Welche Vorteile bietet java.nio für einen Webserver?
- 18. Welche großen Vorteile bietet VS2010 SP1?
- 19. Welche Vorteile bietet Powershell anstelle von VBScript?
- 20. Welche Vorteile bietet die Verwendung der Komposition gegenüber der Vererbung, wenn wir einer Liste <> ein Verhalten hinzufügen müssen?
- 21. Welche Vorteile bietet der Einsatz von CSS Sprites in Webanwendungen?
- 22. Bietet die "using" -Richtlinie Vorteile?
- 23. Vorteile der Verwendung von Wrapper-Klassen gegenüber Primitiven in Java
- 24. Welche Vorteile hat Scala gegenüber Java für die gleichzeitige Programmierung?
- 25. Welche Vorteile bietet die Funktion TearDown() und Setup()?
- 26. Welche Vorteile bietet das benutzerdefinierte Speichermodell Cocos2d-x?
- 27. Welche Vorteile bietet die Verwendung der Visual Studio-Veröffentlichungsfunktion in ASP.NET?
- 28. Welche Vorteile bietet die Verwendung von ems anstelle von% in CSS?
- 29. Welche Vorteile bietet die Verwendung der Zeilenkonstruktorsyntax in einer T-Sql-insert-Anweisung?
- 30. Welche Vorteile bietet die Verwendung von Präzision für das NUMBER-Datenformat in ORACLE?