NodeJS Asychronous I / O Execution

Soweit ich weiß, wird Node.js in einem einzigen Thread ausgeführt, obwohl es anscheinend einen Hilfsthread gibt. Daher wird jede Operation im Ereignisschleifenstapel nacheinander und nacheinander ausgeführt und in die Warteschlange gestellt, während Node asynchrone E / A-Vorgänge ausführt. O Auf diese Weise kann der Server im Hintergrund andere Aktionen ausführen, während nicht blockierende E / A-Vorgänge ausgeführt werden, ohne dass verschwenderische Mehrfachthreads erstellt werden müssen. Die E / A-Vorgänge werden beendet und der zugehörige Rückruf wird in die Ereignisschleifenwarteschlange gezogen , und das ist das Wichtigste an Node.

In vielen Artikeln ist jedoch nicht klar, ob asynchrone E / A-Operationen parallel zu anderen E / A-Operationen in einem separaten Thread oder Prozess ausgeführt werden oder ob jede angeforderte E / A-Operation nacheinander ausgeführt wird in einem Hilfsthread, während die Ereignisschleife andere Aktionen ausführt. Und nachdem ich den Satz "Alles läuft parallel, außer Ihrem Code" gelesen habe, bin ich noch verwirrter.

Die Frage ist, Multithread oder nicht Multithread? Wenn jede asynchrone Operation in einem separaten Thread ausgeführt wird, hat sie dann nicht so viele Ressourcen wie ein Apache-Server?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage