Verständnis der Ereignisschleife (Event Loop) in NodeJS

View more Tutorials:

1- Die Überblick vom NodeJS Event Loop

NodeJS ist eine einfach-Thread Applikation (Single Thread). Es funktioniert nach einer durch  C++ geschriebenen Platform, die  Multi-Thread verwenden um die Aufgabe gleichzeitig durchzuführen.
Die folgende Illustration zeigt die Anforderungen (request) aus den Benutzer, die nach dem Server  NodeJS geschickt werden.
Jede Anforderung (request) aus dem Benutzer wird durch  NodeJS als ein Event gesehen (event). Sie werden in  Event Queue gestellt. NodeJS verwendet das Grundsatz  FIFO (First In First Out), das heißt, dass die Anforderungen zuerst kommt, behandelt zuerst.

Event Loop

Als eine endlose Schleife gibt sie die Anforderung zum  Thread Pool weiter, gleichzeitig wird jede Anforderung eine Funktion  Callback registriert. Wenn eine Anforderung zu behandeln fertig ist, wird die entsprechende Funktion  Callback zur Implementation angeruft.

Thread Pool

ist ein mit der Sprache  C++ geschriebenes Programm, das die Multi Thread unterstützt (Multi Threads), so werden die Anforderungen auf die unterscheidlichen Threads behandelt. NodeJS unterstützt das Multi Processes maximal, das heißt, sie auf die unterschiedlichen Core implementiert werden können
Wenn eine Anforderung behandelt wurde, wird NodeJS die Funktion  Callback aufrufen um sie zu implementieren (für diese Anforderung registriert).

DER SCHLUSS:

Der erste Schluss: Wenn jede Verbindung zum  Server ein Thread öffnet, kostet das die Plätze in der Speicherung. Das wird nachgewiesen wenn Sie  Apache und  Nginx vergleichen (Die zwei  Web Server implementiert die Applikationen  PHP). Apache benutzt viel mehr Speicherung als  Nginx.
NodeJS ist so ähnlich wie  Nginx, dass sie nur ein einfacher Thread um die Verbindungen aus dem Benutzer zu empfangen und sehen jede Anforderung des Benutzer als ein Event
Der zweite Schluss: Die Aktionen  I/O kostet die Ressources des System sehr. Deshalb managet  NodeJS die Verwendung der Aktionen  I/O sehr streng. So brauchen Sie  Callback benutzen wenn Sie die  I/O betreffenden Aufgaben implementieren.
Grundlegend laufen viele Dinge im  NodeJS paralel auf die unterschiedlichen Thread, aber sie werden durch   NodeJS direkt managet, z.B wie  Thread Pool. Und alle von Ihnen geschriebenen Dinge laufen auf einen einfachen Thread (single thread).

View more Tutorials: