Im documentation ich folgendes sehen:Flasche und Skalierung und Gleichzeitigkeit
Es gibt nur ein limitierender Faktor in Flask hinsichtlich Skalierung, die der Kontext lokalen Proxies sind. Sie hängen vom Kontext ab, der in Flask entweder als Thread, Prozess oder Greenlet definiert ist. Wenn Ihr Server eine Art Parallelität verwendet, die nicht auf Threads oder Greenlets basiert, kann Flask diese globalen -Proxies nicht mehr unterstützen. Allerdings verwendet die Mehrheit der Server entweder Threads, Greenlets oder separate Prozesse, um Parallelität zu erreichen, die alle Methoden von der zugrunde liegenden Bibliothek Werkzeug unterstützt werden.
Meine Frage: Welche anderen gleichzeitigen Mechanismen gibt es außer diesen 3 Methoden?
Das wird im Grunde von Greenlet abgedeckt. – Jahaja
@Jahaja: Nein. Greenlet basierte Webserver sind eine Sache, asynchrone (ereignisgesteuerte) Webserver wie Tornado sind eine andere Sache. Beide erreichen ein ähnliches Ziel höherer Gleichzeitigkeit, aber sie kommen mit verschiedenen Methoden dorthin. Insbesondere kann Flask oben auf einem Greenlet-basierten Webserver arbeiten, aber es wird sich nicht leicht an einen asynchronen Server anpassen. – Miguel
Mein Punkt ist, dass beide Lösungen verwenden, was Sie in den unteren Schichten beschreiben. Gevent verwendet libevent/libev und node.js mit libuv. (Denken Sie daran, irgendwo zu lesen, dass gevent 2.0, falls es veröffentlicht wurde, auf libuv basieren könnte.) – Jahaja